drive->io_32bit is used per PIO transfer so there is no reason to require it to be identical for master/slave. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> --- drivers/ide/ide.c | 4 ---- drivers/ide/legacy/dtc2278.c | 7 +------ 2 files changed, 1 insertion(+), 10 deletions(-) Index: b/drivers/ide/ide.c =================================================================== --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c @@ -795,10 +795,6 @@ int set_io_32bit(ide_drive_t *drive, int return -EBUSY; drive->io_32bit = arg; -#ifdef CONFIG_BLK_DEV_DTC2278 - if (HWIF(drive)->chipset == ide_dtc2278) - HWIF(drive)->drives[!drive->select.b.unit].io_32bit = arg; -#endif /* CONFIG_BLK_DEV_DTC2278 */ spin_unlock_irq(&ide_lock); Index: b/drivers/ide/legacy/dtc2278.c =================================================================== --- a/drivers/ide/legacy/dtc2278.c +++ b/drivers/ide/legacy/dtc2278.c @@ -34,8 +34,7 @@ * filesystem corrupted with -u1, but under heavy disk load only :-) * * This card is now forced to use the "serialize" feature, - * and irq-unmasking is disallowed. If io_32bit is enabled, - * it must be done for BOTH drives on each interface. + * and irq-unmasking is disallowed. * * This code was written for the DTC2278E, but might work with any of these: * @@ -87,11 +86,7 @@ static void dtc2278_set_pio_mode(ide_dri Winbond but does anyone actually care */ } - /* - * 32bit I/O has to be enabled for *both* drives at the same time. - */ drive->io_32bit = 1; - HWIF(drive)->drives[!drive->select.b.unit].io_32bit = 1; } static int __init dtc2278_probe(void) - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html