"to send us more data than expected "
                                        "- discarding data\n");
                                idefloppy_discard_data(drive, bcount);
-                               BUG_ON(HWGROUP(drive)->handler != NULL);
+
                                ide_set_handler(drive,
                                                &idefloppy_pc_intr,
                                                IDEFLOPPY_WAIT_CMD,
        pc->actually_transferred += bcount;
        pc->current_position += bcount;
 
-       BUG_ON(HWGROUP(drive)->handler != NULL);
        ide_set_handler(drive, &idefloppy_pc_intr, IDEFLOPPY_WAIT_CMD, NULL);           /* And set the interrupt handler again */
        return ide_started;
 }
                                "issuing a packet command\n");
                return ide_do_reset(drive);
        }
-       BUG_ON(HWGROUP(drive)->handler != NULL);
+
        /* Set the interrupt routine */
        ide_set_handler(drive, &idefloppy_pc_intr, IDEFLOPPY_WAIT_CMD, NULL);
        /* Send the actual packet */
         * 40 and 50msec work well. idefloppy_pc_intr will not be actually
         * used until after the packet is moved in about 50 msec.
         */
-       BUG_ON(HWGROUP(drive)->handler != NULL);
+
        ide_set_handler(drive, 
          &idefloppy_pc_intr,           /* service routine for packet command */
          floppy->ticks,                /* wait this long before "failing" */