aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-iops.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/ide-iops.c')
-rw-r--r--drivers/ide/ide-iops.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c
index b72dde70840a..97a49e77a8f1 100644
--- a/drivers/ide/ide-iops.c
+++ b/drivers/ide/ide-iops.c
@@ -939,8 +939,7 @@ void ide_execute_command(ide_drive_t *drive, task_ioreg_t cmd, ide_handler_t *ha
939 939
940 spin_lock_irqsave(&ide_lock, flags); 940 spin_lock_irqsave(&ide_lock, flags);
941 941
942 if(hwgroup->handler) 942 BUG_ON(hwgroup->handler);
943 BUG();
944 hwgroup->handler = handler; 943 hwgroup->handler = handler;
945 hwgroup->expiry = expiry; 944 hwgroup->expiry = expiry;
946 hwgroup->timer.expires = jiffies + timeout; 945 hwgroup->timer.expires = jiffies + timeout;
@@ -981,8 +980,7 @@ static ide_startstop_t atapi_reset_pollfunc (ide_drive_t *drive)
981 printk("%s: ATAPI reset complete\n", drive->name); 980 printk("%s: ATAPI reset complete\n", drive->name);
982 } else { 981 } else {
983 if (time_before(jiffies, hwgroup->poll_timeout)) { 982 if (time_before(jiffies, hwgroup->poll_timeout)) {
984 if (HWGROUP(drive)->handler != NULL) 983 BUG_ON(HWGROUP(drive)->handler != NULL);
985 BUG();
986 ide_set_handler(drive, &atapi_reset_pollfunc, HZ/20, NULL); 984 ide_set_handler(drive, &atapi_reset_pollfunc, HZ/20, NULL);
987 /* continue polling */ 985 /* continue polling */
988 return ide_started; 986 return ide_started;
@@ -1021,8 +1019,7 @@ static ide_startstop_t reset_pollfunc (ide_drive_t *drive)
1021 1019
1022 if (!OK_STAT(tmp = hwif->INB(IDE_STATUS_REG), 0, BUSY_STAT)) { 1020 if (!OK_STAT(tmp = hwif->INB(IDE_STATUS_REG), 0, BUSY_STAT)) {
1023 if (time_before(jiffies, hwgroup->poll_timeout)) { 1021 if (time_before(jiffies, hwgroup->poll_timeout)) {
1024 if (HWGROUP(drive)->handler != NULL) 1022 BUG_ON(HWGROUP(drive)->handler != NULL);
1025 BUG();
1026 ide_set_handler(drive, &reset_pollfunc, HZ/20, NULL); 1023 ide_set_handler(drive, &reset_pollfunc, HZ/20, NULL);
1027 /* continue polling */ 1024 /* continue polling */
1028 return ide_started; 1025 return ide_started;
@@ -1138,8 +1135,7 @@ static ide_startstop_t do_reset1 (ide_drive_t *drive, int do_not_try_atapi)
1138 hwgroup = HWGROUP(drive); 1135 hwgroup = HWGROUP(drive);
1139 1136
1140 /* We must not reset with running handlers */ 1137 /* We must not reset with running handlers */
1141 if(hwgroup->handler != NULL) 1138 BUG_ON(hwgroup->handler != NULL);
1142 BUG();
1143 1139
1144 /* For an ATAPI device, first try an ATAPI SRST. */ 1140 /* For an ATAPI device, first try an ATAPI SRST. */
1145 if (drive->media != ide_disk && !do_not_try_atapi) { 1141 if (drive->media != ide_disk && !do_not_try_atapi) {