Re: SCSI timeout and reset on ncr53c8xx and DVD_AUTH ioctl

From: Gérard Roudier (groudier@club-internet.fr)
Date: Sat Apr 15 2000 - 10:00:23 EST


On Sat, 15 Apr 2000, Christoph Martin wrote:

> Hi,
>
> I have a TOSHIBA Model: DVD-ROM SD-M1201 on a NCR53C810 SCSI
> controller.
>
> Trying to do a DVD_AUTH ioctl I get a SCSI command timeout and after
> that a bus reset (see below) beginning with kernel 2.3.99-pre1 through
> -pre5 . It works without a problem in kernel 2.2.14 and 2.3.51.

What has changed in recent linux SCSI (and PCI related) is that the kernel
allows applications to provide the data direction and requires low-level
drivers to check that data is transferred in the right direction. The
ncr53c8xx driver may lock up when actual data direction is wrong, but the
sym53c8xx will gracefully eat the wrong data, throw them away, and report
an error.
On the other hand, the knowledwge of the dma direction allows some
performance improvement with some PCI-host bridge.

> The code is called in the css code which is for example part of oms in
> the livid project. You can test it simply using the tstdvd utility
> which tries to read the disk-key and has to authenticate to the DVD
> first.
>
> A minor problem is, that this ioctl returns with error but errno is
> only set to 0.

Not a driver problem, there too, in my opinion.

> I suppose that the problem is in the just then updated ncr53c8xx
> driver (version 3.2g) because people with an adaptec reported no
> problems here.

I may ever fix the hang up problem for the ncr53c8xx driver when data
direction is wrong, but the driver will not allow data to be transferred
in the wrong direction. If my diagnosis is correct, it could well be the
adaptec driver that needs some update.

> System is an asus P2D board with two PIII 450.

> Any ideas here?
>
> Christoph
>
> Apr 15 13:30:09 inigo kernel: Detected scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0
> Apr 15 13:30:09 inigo kernel: ncr53c810-0-<0,*>: FAST-10 SCSI 10.0 MB/s (100 ns, offset 8)
> Apr 15 13:30:09 inigo kernel: sr0: scsi3-mmc drive: 32x/32x cd/rw xa/form2 cdda tray
> Apr 15 13:30:09 inigo kernel: Uniform CD-ROM driver Revision: 3.07
> Apr 15 13:30:09 inigo kernel: VFS: Disk change detected on device sr(11,0)
> Apr 15 13:30:39 inigo kernel: scsi : aborting command due to timeout : pid 0, scsi0, channel 0, id 0, lun 0 UNKNOWN(0xa4) 00 00 00 00 00 00 00 00 08 05 00
> Apr 15 13:30:39 inigo kernel: ncr53c8xx_abort: pid=0 serial_number=29 serial_number_at_timeout=29
> Apr 15 13:30:39 inigo kernel: ncr53c810-0: abort ccb=c77f9000 (cancel)
> Apr 15 13:30:40 inigo kernel: SCSI host 0 abort (pid 0) timed out - resetting
> Apr 15 13:30:40 inigo kernel: SCSI bus is being reset for host 0 channel 0.
> Apr 15 13:30:40 inigo kernel: ncr53c8xx_reset: pid=0 reset_flags=2 serial_number=29 serial_number_at_timeout=29
> Apr 15 13:30:40 inigo kernel: ncr53c810-0: restart (scsi reset).
> Apr 15 13:30:42 inigo kernel: ncr53c810-0-<0,*>: FAST-10 SCSI 10.0 MB/s (100 ns, offset 8)
>
> inigo:~# sh /usr/src/linux/scripts/ver_linux
> -- Versions installed: (if some fields are empty or look
> -- unusual then possibly you have very old versions)
> Linux inigo 2.3.99-pre1 #1 SMP Sat Apr 15 13:01:53 CEST 2000 i686 unknown
> Kernel modules 2.1.121
> Gnu C 2.95.2
> Binutils 2.9.5.0.22
> Linux C Library 2.1.3
> Dynamic linker ldd: version 1.9.11
> Procps 1.2.9
> Mount 2.9g
> Net-tools 2.01
> Kbd 0.96
> Sh-utils 1.16
> Modules Loaded nfs lockd sunrpc unix ncr53c8xx scsi_mod opl3 sb sb_lib uart401 sound soundcore isa-pnp 3c59x
>
> inigo:~# cat /proc/scsi/ncr53c8xx/0
> Chip NCR53C810, device id 0x1, revision id 0x2
> On PCI bus 0, device 12, function 0, IRQ 15
> Synchronous period factor 25, max commands per lun 32
>
> inigo:~# cat /proc/scsi/scsi
> Attached devices:
> Host: scsi0 Channel: 00 Id: 00 Lun: 00
> Vendor: TOSHIBA Model: DVD-ROM SD-M1201 Rev: 1R08
> Type: CD-ROM ANSI SCSI revision: 02

  Gérard.

-
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 Apr 15 2000 - 21:00:26 EST