Bug 116367

Summary: boot SCSI "ODD transfer in DATA IN phase" error
Product: [openSUSE] SUSE LINUX 10.0 Reporter: Robert Strickler <noes.to.anomalyst>
Component: KernelAssignee: Hannes Reinecke <hare>
Status: RESOLVED WONTFIX QA Contact: E-mail List <qa-bugs>
Severity: Minor    
Priority: P5 - None CC: hare
Version: RC 1Keywords: easy_fix, patch
Target Milestone: ---   
Hardware: x86-64   
OS: SUSE Other   
Whiteboard:
Found By: Customer Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Robert Strickler 2005-09-11 01:41:23 UTC
boot.msg contains the following:
=================================================================
<6> target4:0:1: FAST-20 WIDE SCSI 40.0 MB/s ST (50 ns, offset 31)
<5>  Vendor: WDIGTL    Model: WDE4550 ULTRA2    Rev: 1.22
<5>  Type:   Direct-Access                      ANSI SCSI revision: 02
<6> target4:0:1: tagged command queuing enabled, command queue depth 16.
<6> target4:0:1: Beginning Domain Validation
<6> target4:0:1: FAST-20 SCSI 20.0 MB/s ST (50 ns, offset 31)
<6> target4:0:1: FAST-20 WIDE SCSI 40.0 MB/s ST (50 ns, offset 31)
<6> 4:0:1:0: ODD transfer in DATA IN phase.
<6> 4:0:1:0: COMMAND FAILED (87 0 10).
<3> target4:0:1: Wide Transfers Fail
<6> target4:0:1: Domain Validation skipping write tests
<6> target4:0:1: FAST-20 SCSI 20.0 MB/s ST (50 ns, offset 31)
<6> target4:0:1: Ending Domain Validation
=====================================
against latest (2.6.13-9) source
diff /mot/save/scsi_scan.c scsi_scan.c
488d487
<               scsi_cmd[4] &= 0xFE; /* make sure it is an even transfer */
522,524c521
<               response_len = (unsigned char) inq_result[4] + 7; /* RJS */
<               response_len &= 0xFFFE; /* RJS make sure it is an even xfer */
<
---
>               response_len = (unsigned char) inq_result[4] + 5;

========================================
<6> target4:0:1: FAST-20 WIDE SCSI 40.0 MB/s ST (50 ns, offset 31)
<5>  Vendor: WDIGTL    Model: WDE4550 ULTRA2    Rev: 1.22
<5>  Type:   Direct-Access                      ANSI SCSI revision: 02
<6> target4:0:1: tagged command queuing enabled, command queue depth 16.
<6> target4:0:1: Beginning Domain Validation
<6> target4:0:1: FAST-20 SCSI 20.0 MB/s ST (50 ns, offset 31)
<6> target4:0:1: FAST-20 WIDE SCSI 40.0 MB/s ST (50 ns, offset 31)
<6> target4:0:1: Domain Validation skipping write tests
<6> target4:0:1: FAST-20 WIDE SCSI 40.0 MB/s ST (50 ns, offset 31)
<6> target4:0:1: Ending Domain Validation
========================================

Which properly enables wide transfers. This just fixes the probe on booting. The
SCSI code should be reviewed for installation of a lower level, selectable
enforcement of even sized buffers, possibly a debugging assert warning on odd
transfer to flag portability issues for these (admittedly older) WDE4550 drives.
Comment 1 Hannes Reinecke 2006-04-25 14:44:12 UTC
Nope, this is actually a bug in the sym53c8xx_2 driver (#91631).
I doubt we'll fix it for the box product.

Letting aj decide.
Comment 2 Andreas Jaeger 2006-04-25 18:58:36 UTC
we won't fix this.