aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide')
-rw-r--r--drivers/ide/ide-cd.c3
-rw-r--r--drivers/ide/ide-dma.c6
-rw-r--r--drivers/ide/ide-floppy.c12
-rw-r--r--drivers/ide/ide-iops.c12
-rw-r--r--drivers/ide/ide-lib.c3
-rw-r--r--drivers/ide/ide-taskfile.c3
-rw-r--r--drivers/ide/ide.c3
-rw-r--r--drivers/ide/pci/trm290.c3
8 files changed, 15 insertions, 30 deletions
diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
index abb83d95df57..6de3cd3d6e8e 100644
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -1725,8 +1725,7 @@ static ide_startstop_t cdrom_newpc_intr(ide_drive_t *drive)
1725 } 1725 }
1726 } 1726 }
1727 1727
1728 if (HWGROUP(drive)->handler != NULL) 1728 BUG_ON(HWGROUP(drive)->handler != NULL);
1729 BUG();
1730 1729
1731 ide_set_handler(drive, cdrom_newpc_intr, rq->timeout, NULL); 1730 ide_set_handler(drive, cdrom_newpc_intr, rq->timeout, NULL);
1732 return ide_started; 1731 return ide_started;
diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c
index c481be8b807f..783a2475ee8b 100644
--- a/drivers/ide/ide-dma.c
+++ b/drivers/ide/ide-dma.c
@@ -206,8 +206,7 @@ int ide_build_sglist(ide_drive_t *drive, struct request *rq)
206 ide_hwif_t *hwif = HWIF(drive); 206 ide_hwif_t *hwif = HWIF(drive);
207 struct scatterlist *sg = hwif->sg_table; 207 struct scatterlist *sg = hwif->sg_table;
208 208
209 if ((rq->flags & REQ_DRIVE_TASKFILE) && rq->nr_sectors > 256) 209 BUG_ON((rq->flags & REQ_DRIVE_TASKFILE) && rq->nr_sectors > 256);
210 BUG();
211 210
212 ide_map_sg(drive, rq); 211 ide_map_sg(drive, rq);
213 212
@@ -947,8 +946,7 @@ void ide_setup_dma (ide_hwif_t *hwif, unsigned long dma_base, unsigned int num_p
947 } 946 }
948 printk("\n"); 947 printk("\n");
949 948
950 if (!(hwif->dma_master)) 949 BUG_ON(!hwif->dma_master);
951 BUG();
952} 950}
953 951
954EXPORT_SYMBOL_GPL(ide_setup_dma); 952EXPORT_SYMBOL_GPL(ide_setup_dma);
diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c
index a53e3ce4a142..a1179e924962 100644
--- a/drivers/ide/ide-floppy.c
+++ b/drivers/ide/ide-floppy.c
@@ -898,8 +898,7 @@ static ide_startstop_t idefloppy_pc_intr (ide_drive_t *drive)
898 "to send us more data than expected " 898 "to send us more data than expected "
899 "- discarding data\n"); 899 "- discarding data\n");
900 idefloppy_discard_data(drive,bcount.all); 900 idefloppy_discard_data(drive,bcount.all);
901 if (HWGROUP(drive)->handler != NULL) 901 BUG_ON(HWGROUP(drive)->handler != NULL);
902 BUG();
903 ide_set_handler(drive, 902 ide_set_handler(drive,
904 &idefloppy_pc_intr, 903 &idefloppy_pc_intr,
905 IDEFLOPPY_WAIT_CMD, 904 IDEFLOPPY_WAIT_CMD,
@@ -932,8 +931,7 @@ static ide_startstop_t idefloppy_pc_intr (ide_drive_t *drive)
932 pc->actually_transferred += bcount.all; 931 pc->actually_transferred += bcount.all;
933 pc->current_position += bcount.all; 932 pc->current_position += bcount.all;
934 933
935 if (HWGROUP(drive)->handler != NULL) 934 BUG_ON(HWGROUP(drive)->handler != NULL);
936 BUG();
937 ide_set_handler(drive, &idefloppy_pc_intr, IDEFLOPPY_WAIT_CMD, NULL); /* And set the interrupt handler again */ 935 ide_set_handler(drive, &idefloppy_pc_intr, IDEFLOPPY_WAIT_CMD, NULL); /* And set the interrupt handler again */
938 return ide_started; 936 return ide_started;
939} 937}
@@ -960,8 +958,7 @@ static ide_startstop_t idefloppy_transfer_pc (ide_drive_t *drive)
960 "issuing a packet command\n"); 958 "issuing a packet command\n");
961 return ide_do_reset(drive); 959 return ide_do_reset(drive);
962 } 960 }
963 if (HWGROUP(drive)->handler != NULL) 961 BUG_ON(HWGROUP(drive)->handler != NULL);
964 BUG();
965 /* Set the interrupt routine */ 962 /* Set the interrupt routine */
966 ide_set_handler(drive, &idefloppy_pc_intr, IDEFLOPPY_WAIT_CMD, NULL); 963 ide_set_handler(drive, &idefloppy_pc_intr, IDEFLOPPY_WAIT_CMD, NULL);
967 /* Send the actual packet */ 964 /* Send the actual packet */
@@ -1017,8 +1014,7 @@ static ide_startstop_t idefloppy_transfer_pc1 (ide_drive_t *drive)
1017 * 40 and 50msec work well. idefloppy_pc_intr will not be actually 1014 * 40 and 50msec work well. idefloppy_pc_intr will not be actually
1018 * used until after the packet is moved in about 50 msec. 1015 * used until after the packet is moved in about 50 msec.
1019 */ 1016 */
1020 if (HWGROUP(drive)->handler != NULL) 1017 BUG_ON(HWGROUP(drive)->handler != NULL);
1021 BUG();
1022 ide_set_handler(drive, 1018 ide_set_handler(drive,
1023 &idefloppy_pc_intr, /* service routine for packet command */ 1019 &idefloppy_pc_intr, /* service routine for packet command */
1024 floppy->ticks, /* wait this long before "failing" */ 1020 floppy->ticks, /* wait this long before "failing" */
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) {
diff --git a/drivers/ide/ide-lib.c b/drivers/ide/ide-lib.c
index 41d46dbe6c24..16a143133f93 100644
--- a/drivers/ide/ide-lib.c
+++ b/drivers/ide/ide-lib.c
@@ -164,8 +164,7 @@ u8 ide_rate_filter (u8 mode, u8 speed)
164// printk("%s: mode 0x%02x, speed 0x%02x\n", __FUNCTION__, mode, speed); 164// printk("%s: mode 0x%02x, speed 0x%02x\n", __FUNCTION__, mode, speed);
165 165
166 /* So that we remember to update this if new modes appear */ 166 /* So that we remember to update this if new modes appear */
167 if (mode > 4) 167 BUG_ON(mode > 4);
168 BUG();
169 return min(speed, speed_max[mode]); 168 return min(speed, speed_max[mode]);
170#else /* !CONFIG_BLK_DEV_IDEDMA */ 169#else /* !CONFIG_BLK_DEV_IDEDMA */
171 return min(speed, (u8)XFER_PIO_4); 170 return min(speed, (u8)XFER_PIO_4);
diff --git a/drivers/ide/ide-taskfile.c b/drivers/ide/ide-taskfile.c
index 9233b8109a0f..a839b2a8f6f4 100644
--- a/drivers/ide/ide-taskfile.c
+++ b/drivers/ide/ide-taskfile.c
@@ -196,8 +196,7 @@ ide_startstop_t set_geometry_intr (ide_drive_t *drive)
196 if (stat & (ERR_STAT|DRQ_STAT)) 196 if (stat & (ERR_STAT|DRQ_STAT))
197 return ide_error(drive, "set_geometry_intr", stat); 197 return ide_error(drive, "set_geometry_intr", stat);
198 198
199 if (HWGROUP(drive)->handler != NULL) 199 BUG_ON(HWGROUP(drive)->handler != NULL);
200 BUG();
201 ide_set_handler(drive, &set_geometry_intr, WAIT_WORSTCASE, NULL); 200 ide_set_handler(drive, &set_geometry_intr, WAIT_WORSTCASE, NULL);
202 return ide_started; 201 return ide_started;
203} 202}
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c
index f5a60912c271..9799aed772e1 100644
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -1367,8 +1367,7 @@ int generic_ide_ioctl(ide_drive_t *drive, struct file *file, struct block_device
1367 1367
1368 ide_abort(drive, "drive reset"); 1368 ide_abort(drive, "drive reset");
1369 1369
1370 if(HWGROUP(drive)->handler) 1370 BUG_ON(HWGROUP(drive)->handler);
1371 BUG();
1372 1371
1373 /* Ensure nothing gets queued after we 1372 /* Ensure nothing gets queued after we
1374 drop the lock. Reset will clear the busy */ 1373 drop the lock. Reset will clear the busy */
diff --git a/drivers/ide/pci/trm290.c b/drivers/ide/pci/trm290.c
index c26c8ca90dd4..fe80295974e1 100644
--- a/drivers/ide/pci/trm290.c
+++ b/drivers/ide/pci/trm290.c
@@ -183,8 +183,7 @@ static void trm290_ide_dma_exec_cmd(ide_drive_t *drive, u8 command)
183{ 183{
184 ide_hwif_t *hwif = HWIF(drive); 184 ide_hwif_t *hwif = HWIF(drive);
185 185
186 if (HWGROUP(drive)->handler != NULL) /* paranoia check */ 186 BUG_ON(HWGROUP(drive)->handler != NULL); /* paranoia check */
187 BUG();
188 ide_set_handler(drive, &ide_dma_intr, WAIT_CMD, NULL); 187 ide_set_handler(drive, &ide_dma_intr, WAIT_CMD, NULL);
189 /* issue cmd to drive */ 188 /* issue cmd to drive */
190 hwif->OUTB(command, IDE_COMMAND_REG); 189 hwif->OUTB(command, IDE_COMMAND_REG);