> +       /* SINGLE_LUN flag is reset for Bulk devices - fix it */
> +       us->max_lun = 0;
> 
> The comment is certainly wrong, and I don't think the assignment is
> needed either.

When I was originally testing against 2.6.7, there was an issue without this - I
would get lots of Bad LUN errors and several device nodes were created (none
of which worked).  I set SINGLE_LUN, and a portion of the code did set 
us->max_lun to zero, but then right before the init function in usb.c,
there was:

...
/* For bulk-only devices, determine the max LUN value */
if (us->protocol == US_PR_BULK)
    us->max_lun = usb_stor_Bulk_max_lun(us);

Which would set us->max_lun to something else.  I see that this code has 
changed somewhat in 2.6.12 so it may do the right thing now.  It appeared
to me that SINGLE_LUN was ignored for US_PR_BULK devices in the earlier
version (granted, the comment doesn't say the right thing).

> +               if (time_after(timeout, jiffies))
> 
> You probably mean time_after(jiffies, timeout).

Oops!

> I doubt that you need the FIX_INQUIRY flag, and the SINGLE_LUN flag is
> certainly not necessary.

Alright, I will experiment some more with the flags.  At some point I convinced 
myself these were necessary, so I'll try and figure out why.  

Thanks for all of the great tips!
Bob


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to