On Wed, Jun 18, 2003 at 05:32:25PM -0700, Greg KH wrote:
> On Wed, Jun 18, 2003 at 03:11:12PM -0400, Alan Stern wrote:
> > Greg:
> > 
> > As a result of a recently-applied change, there are two new subclass and 
> > protocol codes for the usb-storage unusual_devs.h file.  The codes are 
> > US_SC_DEVICE and US_PR_DEVICE; their meaning is that the driver should use 
> > whatever value the device supplies instead of overriding it.
> 
> But isn't the entry usually needed to override one of the values in the
> first place?
> 
> I'm sorry, but I'm still confused, a simple example might be best to
> help me out.

'Usually' is a word I do not like.  Some of the time, one of these values
needs to be overriden.  Sometimes it does not.  If the device only needs
flags (a common condition), then you override is actually needed.

Imagine a device that properly announces class/subclass/protocol of
0x8/0x6/0x50 -- but chokes on the START_STOP command.

(Aside: This is a contrived example, as we fixed the START_STOP problem
upstream, but for a long time this was a very real situation.)

The entry would (in the past) be formulated with US_PR_BULK and US_SC_SCSI
and list US_FL_START_STOP.

Now, the entry would read US_PR_DEVICE, US_SC_DEVICE, US_FL_START_STOP.

As a second example, consider a device that announces 0xff/0xff/0xff -- yet
actually works with US_PR_BULK and US_SC_UFI (I happen to know that there
are actually devices like this in existance).  Their entry under both the
old and new system would use US_PR_BULK and US_SC_UFI.

Is that any more clear?

Matt

-- 
Matthew Dharm                              Home: [EMAIL PROTECTED] 
Maintainer, Linux USB Mass Storage Driver

SP: I sell software for Microsoft.  Can you set me free?
DP: Natural Selection says I shouldn't.
                                        -- MS Salesman and Dust Puppy
User Friendly, 4/2/1998

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to