pre-2.1.96-1 panic: Inactive in scsi_request_queueable

Keith Owens (kaos@ocs.com.au)
Tue, 14 Apr 1998 00:57:16 +1000


After patching ll_rw_block to release the spinlock before calling
dev->request_fn, loopback worked. Alas it exposed another bug, panic:
Inactive in scsi_request_queueable. The comments at the start of
scsi_request_queueable say it must be called with interrupts disabled
but it seems that they are enabled. ktrace shows interrupts occurring
immediately after scsi_request_queueable, probably while it is still
active. An extract follows, the full 20,000 line ktrace is in
ftp://ftp.ocs.com.au/private/lockup9.gz.

c01bc2fe requeue_sd_request +<f2/c24> (1.60) cpu(0) pid(410)
c01bc13f do_sd_request +<ef/1bc> (3.70) cpu(0) pid(410)
c01b4303 scsi_allocate_device +<f7/3ac> (4.45) cpu(0) pid(410)
c0117f4f __wake_up +<13/d8> (3.80) cpu(0) pid(410)
c01bc2fe requeue_sd_request +<f2/c24> (3.43) cpu(0) pid(410)
c01bb83b sd_open +<97/1a0> (1.12) cpu(0) pid(410)
c01cd685 sprintf +<151/c80> (2.58) cpu(0) pid(410)
c01cd28b vsprintf +<157/400> (5.85) cpu(0) pid(410)
c01b5563 scsi_free +<1f/b0> (13.62) cpu(0) pid(410)
c01b497b scsi_do_cmd +<f7/5bc> (5.61) cpu(0) pid(410)
c01b8938 scsi_block_when_processing_errors +<10/14c> (2.08) cpu(0) pid(410)
c0117837 add_timer +<f/184> (3.43) cpu(0) pid(410)
c01c961c ncr53c8xx_reset +<60/90> (2.66) cpu(0) pid(410)
c01c4803 ncr_queue_command +<133/7f4> (2.76) cpu(0) pid(410)
c010cdf5 __global_save_flags +<d/4c> (1.20) cpu(0) pid(410)
c010cc6f __global_cli +<f/144> (1.87) cpu(0) pid(410)
c01c7c5b ncr_alloc_ccb +<1b/304> (7.64) cpu(0) pid(410)
c01c80ef ncr_regtest +<53/68> (6.18) cpu(0) pid(410)
c010ce41 __global_restore_flags +<d/64> (3.49) cpu(0) pid(410)
c01b4053 scsi_request_queueable +<f7/2b0> (3.54) cpu(0) pid(410)
c0117f4f __wake_up +<13/d8> (2.63) cpu(0) pid(410)
c01bc2fe requeue_sd_request +<f2/c24> (2.20) cpu(0) pid(410)
c01bb83b sd_open +<97/1a0> (1.47) cpu(0) pid(410)
c01cd685 sprintf +<151/c80> (1.07) cpu(0) pid(410)
c01cd28b vsprintf +<157/400> (4.46) cpu(0) pid(410)
c01b5563 scsi_free +<1f/b0> (11.14) cpu(0) pid(410)
c01b497b scsi_do_cmd +<f7/5bc> (3.51) cpu(0) pid(410)
c01b8938 scsi_block_when_processing_errors +<10/14c> (1.35) cpu(0) pid(410)
c0117837 add_timer +<f/184> (2.81) cpu(0) pid(410)
c01c961c ncr53c8xx_reset +<60/90> (1.01) cpu(0) pid(410)
c01c4803 ncr_queue_command +<133/7f4> (2.14) cpu(0) pid(410)
c010cdf5 __global_save_flags +<d/4c> (1.39) cpu(0) pid(410)
c010cc6f __global_cli +<f/144> (1.59) cpu(0) pid(410)
c01c7c5b ncr_alloc_ccb +<1b/304> (4.72) cpu(0) pid(410)
c01c80ef ncr_regtest +<53/68> (5.34) cpu(0) pid(410)
c010ce41 __global_restore_flags +<d/64> (11.39) cpu(0) pid(410)
c010cea8 handle_IRQ_event +<10/60> (1.05) cpu(0) pid(410)
c01c96cd insert_into_waiting_list +<19/48> (0.98) cpu(0) pid(410)
c01c9663 ncr53c8xx_abort +<17/68> (1.66) cpu(0) pid(410)
c01c69af ncr_exception +<133/360> (3.14) cpu(0) pid(410)
c01c6e73 ncr_int_ma +<133/4a0> (11.75) cpu(0) pid(410)
c010d466 do_IRQ +<42/64> (1.39) cpu(0) pid(410)
c010d481 do_IRQ +<5d/64> (5.13) cpu(0) pid(410)
c010d432 do_IRQ +<e/64> (1.42) cpu(0) pid(410)
c010d310 do_ioapic_IRQ +<10/124> (1.59) cpu(0) pid(410)
c0113a85 ack_APIC_irq +<d/20> (2.48) cpu(0) pid(410)
c010cea8 handle_IRQ_event +<10/60> (1.37) cpu(0) pid(410)
c01c96cd insert_into_waiting_list +<19/48> (1.12) cpu(0) pid(410)
c01c9663 ncr53c8xx_abort +<17/68> (1.51) cpu(0) pid(410)
c01c69af ncr_exception +<133/360> (4.07) cpu(0) pid(410)
c010d466 do_IRQ +<42/64> (0.94) cpu(0) pid(410)
c010d481 do_IRQ +<5d/64> (2.81) cpu(0) pid(410)
c011ab46 panic +<e/f4> (????) cpu(0) pid(410)

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu