diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/ide/ide.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c index 85740ae5d689..54943da6e4e5 100644 --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c | |||
| @@ -800,11 +800,17 @@ int set_io_32bit(ide_drive_t *drive, int arg) | |||
| 800 | if (arg < 0 || arg > 1 + (SUPPORT_VLB_SYNC << 1)) | 800 | if (arg < 0 || arg > 1 + (SUPPORT_VLB_SYNC << 1)) |
| 801 | return -EINVAL; | 801 | return -EINVAL; |
| 802 | 802 | ||
| 803 | if (ide_spin_wait_hwgroup(drive)) | ||
| 804 | return -EBUSY; | ||
| 805 | |||
| 803 | drive->io_32bit = arg; | 806 | drive->io_32bit = arg; |
| 804 | #ifdef CONFIG_BLK_DEV_DTC2278 | 807 | #ifdef CONFIG_BLK_DEV_DTC2278 |
| 805 | if (HWIF(drive)->chipset == ide_dtc2278) | 808 | if (HWIF(drive)->chipset == ide_dtc2278) |
| 806 | HWIF(drive)->drives[!drive->select.b.unit].io_32bit = arg; | 809 | HWIF(drive)->drives[!drive->select.b.unit].io_32bit = arg; |
| 807 | #endif /* CONFIG_BLK_DEV_DTC2278 */ | 810 | #endif /* CONFIG_BLK_DEV_DTC2278 */ |
| 811 | |||
| 812 | spin_unlock_irq(&ide_lock); | ||
| 813 | |||
| 808 | return 0; | 814 | return 0; |
| 809 | } | 815 | } |
| 810 | 816 | ||
