Skip to content

Commit

Permalink
amd74xx/via82cxxx: check ide_config_drive_speed() return value
Browse files Browse the repository at this point in the history
* Check ide_config_drive_speed() return value.

* While at also call ide_config_drive_speed() if the transfer mode is
  XFER_PIO_SLOW (this case happens iff the transfer mode has already been
  set on the device by ide-proc.c::set_xfer_rate()) and remove redundant
  setting of ->{init,current}_speed.

* Bump driver version.

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
  • Loading branch information
Bartlomiej Zolnierkiewicz committed Oct 13, 2007
1 parent 0f45894 commit 3b4024d
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 14 deletions.
10 changes: 3 additions & 7 deletions drivers/ide/pci/amd74xx.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Version 2.22
* Version 2.23
*
* AMD 755/756/766/8111 and nVidia nForce/2/2s/3/3s/CK804/MCP04
* IDE driver for Linux.
Expand Down Expand Up @@ -240,8 +240,8 @@ static int amd_set_drive(ide_drive_t *drive, const u8 speed)
struct ide_timing t, p;
int T, UT;

if (speed != XFER_PIO_SLOW)
ide_config_drive_speed(drive, speed);
if (ide_config_drive_speed(drive, speed))
return 1;

T = 1000000000 / amd_clock;
UT = (amd_config->udma_mask == ATA_UDMA2) ? T : (T / 2);
Expand All @@ -258,10 +258,6 @@ static int amd_set_drive(ide_drive_t *drive, const u8 speed)

amd_set_speed(HWIF(drive)->pci_dev, drive->dn, &t);

if (!drive->init_speed)
drive->init_speed = speed;
drive->current_speed = speed;

return 0;
}

Expand Down
10 changes: 3 additions & 7 deletions drivers/ide/pci/via82cxxx.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
*
* Version 3.48
* Version 3.49
*
* VIA IDE driver for Linux. Supported southbridges:
*
Expand Down Expand Up @@ -165,8 +165,8 @@ static int via_set_drive(ide_drive_t *drive, const u8 speed)
struct ide_timing t, p;
unsigned int T, UT;

if (speed != XFER_PIO_SLOW)
ide_config_drive_speed(drive, speed);
if (ide_config_drive_speed(drive, speed))
return 1;

T = 1000000000 / via_clock;

Expand All @@ -187,10 +187,6 @@ static int via_set_drive(ide_drive_t *drive, const u8 speed)

via_set_speed(HWIF(drive), drive->dn, &t);

if (!drive->init_speed)
drive->init_speed = speed;
drive->current_speed = speed;

return 0;
}

Expand Down

0 comments on commit 3b4024d

Please sign in to comment.