Commit b6966a61 authored by Martin K. Petersen's avatar Martin K. Petersen Committed by Jeff Garzik

pata_cs5536.c bugfix

Fix speed negotiation for secondary device.
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 7a3a16fe
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
#include <asm/msr.h> #include <asm/msr.h>
#define DRV_NAME "pata_cs5536" #define DRV_NAME "pata_cs5536"
#define DRV_VERSION "0.0.6" #define DRV_VERSION "0.0.7"
enum { enum {
CFG = 0, CFG = 0,
...@@ -153,8 +153,8 @@ static void cs5536_set_piomode(struct ata_port *ap, struct ata_device *adev) ...@@ -153,8 +153,8 @@ static void cs5536_set_piomode(struct ata_port *ap, struct ata_device *adev)
struct ata_device *pair = ata_dev_pair(adev); struct ata_device *pair = ata_dev_pair(adev);
int mode = adev->pio_mode - XFER_PIO_0; int mode = adev->pio_mode - XFER_PIO_0;
int cmdmode = mode; int cmdmode = mode;
int dshift = ap->port_no ? IDE_D1_SHIFT : IDE_D0_SHIFT; int dshift = adev->devno ? IDE_D1_SHIFT : IDE_D0_SHIFT;
int cshift = ap->port_no ? IDE_CAST_D1_SHIFT : IDE_CAST_D0_SHIFT; int cshift = adev->devno ? IDE_CAST_D1_SHIFT : IDE_CAST_D0_SHIFT;
u32 dtc, cast, etc; u32 dtc, cast, etc;
if (pair) if (pair)
...@@ -201,7 +201,7 @@ static void cs5536_set_dmamode(struct ata_port *ap, struct ata_device *adev) ...@@ -201,7 +201,7 @@ static void cs5536_set_dmamode(struct ata_port *ap, struct ata_device *adev)
struct pci_dev *pdev = to_pci_dev(ap->host->dev); struct pci_dev *pdev = to_pci_dev(ap->host->dev);
u32 dtc, etc; u32 dtc, etc;
int mode = adev->dma_mode; int mode = adev->dma_mode;
int dshift = ap->port_no ? IDE_D1_SHIFT : IDE_D0_SHIFT; int dshift = adev->devno ? IDE_D1_SHIFT : IDE_D0_SHIFT;
if (mode >= XFER_UDMA_0) { if (mode >= XFER_UDMA_0) {
cs5536_read(pdev, ETC, &etc); cs5536_read(pdev, ETC, &etc);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment