I've managed to lock the scsi tape driver by doing this:
mt status & mt status & mt status &
Combinations of tar & mt or tar & mtx does the same thing...
This is on Pentium single processor machines. It happened with kernels
2.0.36, 2.2.5 and with red hat's 2.2.12-20 kernel.
On a SMP machine with red hat's 2.2.12-20 SMP kernel, it works correctly.
They all have Adaptec 21?? cards with the aic7xxx driver.
ps axl | grep mt gives (kernel: RH's 2.2.12-20):
0 0 341 323 0 0 1064 292 down_failed D ? 0:00 mt status
0 0 342 323 0 0 1064 292 down_failed D ? 0:00 mt status
0 0 362 361 0 0 1064 292 scsi_alloca D ? 0:00 mt status
0 0 391 377 0 0 1064 292 scsi_alloca D ? 0:00 mt status
Here's some log messages from the kernel from one of the machines with
red hat's 2.2.12-20 kernel:
(scsi0:0:3:0) Synchronous at 5.0 Mbyte/sec, offset 15.
Vendor: WangDAT Model: Model 3400DX Rev: 1.4a
Type: Sequential-Access ANSI SCSI revision: 02
Detected scsi tape st0 at scsi0, channel 0, id 3, lun 0
(scsi0:0:3:0) Data overrun detected in Data-In phase, tag 0;
Have seen Data Phase. Length=6, NumSGs=1.
sg[0] - Addr 0x90000 : Length 6
(scsi0:0:3:0) Data overrun detected in Data-In phase, tag 2;
Have seen Data Phase. Length=0, NumSGs=0.
(scsi0:0:3:0) Data overrun detected in Data-In phase, tag 1;
Have seen Data Phase. Length=6, NumSGs=1.
sg[0] - Addr 0x8000 : Length 6
(scsi0:0:3:0) Data overrun detected in Data-In phase, tag 2;
Have seen Data Phase. Length=6, NumSGs=1.
sg[0] - Addr 0x8000 : Length 6
scsi0 channel 0 : resetting for second half of retries.
SCSI bus is being reset for host 0 channel 0.
(scsi0:0:3:0) Synchronous at 5.0 Mbyte/sec, offset 15.
st0: Error with sense data: [valid=0] Info fld=0x0, Current st09:00: sense key Unit Attention
Additional sense indicates Power on, reset, or bus device reset occurred
cat /proc/scsi/aic7xxx gives:
Adaptec AIC7xxx driver version: 5.1.20/3.2.4
Compile Options:
TCQ Enabled By Default : Disabled
AIC7XXX_PROC_STATS : Enabled
AIC7XXX_RESET_DELAY : 5
Adapter Configuration:
SCSI Adapter: Adaptec AHA-2940A Ultra SCSI host adapter
Ultra Narrow Controller
PCI MMAPed I/O Base: 0xe1000000
Adapter SEEPROM Config: SEEPROM found and used.
Adaptec SCSI BIOS: Enabled
IRQ: 11
SCBs: Active 0, Max Active 1,
Allocated 15, HW 3, Page 255
Interrupts: 80
BIOS Control Word: 0x10b6
Adapter Control Word: 0x0055
Extended Translation: Enabled
Disconnect Enable Flags: 0x00ff
Ultra Enable Flags: 0x0000
Tag Queue Enable Flags: 0x0000
Ordered Queue Tag Flags: 0x0000
Default Tag Queue Depth: 8
Tagged Queue By Device array for aic7xxx host instance 0:
{255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255}
Actual queue depth per device for aic7xxx host instance 0:
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
Statistics:
(scsi0:0:3:0)
Device using Narrow/Sync transfers at 5.0 MByte/sec, offset 15
[snip]
Here is the messages from the 2.0.36 machine:
st0: Error on write filemark.
(scsi0:0:5:0) Data overrun detected in Data-In phase, tag 11;
Have seen Data Phase. Length=0, NumSGs=0.
(scsi0:0:5:0) Data overrun detected in Data-In phase, tag 11;
Have seen Data Phase. Length=6, NumSGs=1.
sg[0] - Addr 0xa50000 : Length 6
cat /proc/scsi/aix7xxx output:
Adaptec AIC7xxx driver version: 5.1.4/3.2.4
Compile Options:
AIC7XXX_RESET_DELAY : 5
AIC7XXX_TAGGED_QUEUEING: Adapter Support Enabled
Check below to see which
devices use tagged queueing
AIC7XXX_PAGE_ENABLE : Enabled (This is no longer an option)
AIC7XXX_PROC_STATS : Enabled
Adapter Configuration:
SCSI Adapter: Adaptec AHA-294X Ultra SCSI host adapter
Ultra Wide Controller
PCI MMAPed I/O Base: 0xe5800000
Adapter SEEPROM Config: SEEPROM found and used.
Adaptec SCSI BIOS: Enabled
IRQ: 11
SCBs: Active 0, Max Active 2,
Allocated 15, HW 16, Page 255
Interrupts: 4647394
BIOS Control Word: 0x18b6
Adapter Control Word: 0x0051
Extended Translation: Enabled
Disconnect Enable Flags: 0xffff
Ultra Enable Flags: 0x0000
Tag Queue Enable Flags: 0x0000
Ordered Queue Tag Flags: 0x0000
Default Tag Queue Depth: 8
Tagged Queue By Device array for aic7xxx host instance 0:
{255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255}
Actual queue depth per device for aic7xxx host instance 0:
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
Statistics:
[snip]
(scsi0:0:5:0)
Device using Wide/Sync transfers at
20.0 MByte/sec, offset 8
Device Negotiation Settings
Period Offset Bus Width
User 025 008 1
Goal 025 008 1
Current 025 008 1
Total transfers 2448136 (0 read;2448136 written)
blks(512) rd=0; blks(512) wr=156680704
< 512 512-1K 1-2K 2-4K 4-8K 8-16K 16-32K 32-64K 64-128K >128K
Reads: 0 0 0 0 0 0 0 0 0 0
Writes: 0 0 0 0 0 0 0 2448136 0 0
Regards,
/Sebastian
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Sat Jan 15 2000 - 21:00:24 EST