<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/usb/storage/protocol.c, branch v3.4.61</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/usb/storage/protocol.c?h=v3.4.61</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/usb/storage/protocol.c?h=v3.4.61'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2011-11-15T01:05:03Z</updated>
<entry>
<title>usb-storage: Accept 8020i-protocol commands longer than 12 bytes</title>
<updated>2011-11-15T01:05:03Z</updated>
<author>
<name>Alan Stern</name>
<email>stern@rowland.harvard.edu</email>
</author>
<published>2011-10-25T14:50:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2f640bf4c94324aeaa1b6385c10aab8c5ad1e1cf'/>
<id>urn:sha1:2f640bf4c94324aeaa1b6385c10aab8c5ad1e1cf</id>
<content type='text'>
The 8020i protocol (also 8070i and QIC-157) uses 12-byte commands;
shorter commands must be padded.  Simon Detheridge reports that his
3-TB USB disk drive claims to use the 8020i protocol (which is
normally meant for ATAPI devices like CD drives), and because of its
large size, the disk drive requires the use of 16-byte commands.
However the usb_stor_pad12_command() routine in usb-storage always
sets the command length to 12, making the drive impossible to use.

Since the SFF-8020i specification allows for 16-byte commands in
future extensions, we may as well accept them.  This patch (as1490)
changes usb_stor_pad12_command() to leave commands larger than 12
bytes alone rather than truncating them.

Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Tested-by: Simon Detheridge &lt;simon@widgit.com&gt;
CC: Matthew Dharm &lt;mdharm-usb@one-eyed-alien.net&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>usb: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed</title>
<updated>2011-10-31T23:31:25Z</updated>
<author>
<name>Paul Gortmaker</name>
<email>paul.gortmaker@windriver.com</email>
</author>
<published>2011-05-27T13:56:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f940fcd8eadfe5b909a1474b57de7755edeee62b'/>
<id>urn:sha1:f940fcd8eadfe5b909a1474b57de7755edeee62b</id>
<content type='text'>
With module.h being implicitly everywhere via device.h, the absence
of explicitly including something for EXPORT_SYMBOL went unnoticed.
Since we are heading to fix things up and clean module.h from the
device.h file, we need to explicitly include these files now.

Use the lightweight version of the header that has just THIS_MODULE
and EXPORT_SYMBOL variants.

Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>usb-storage: prepare for subdriver separation</title>
<updated>2009-03-24T23:20:34Z</updated>
<author>
<name>Alan Stern</name>
<email>stern@rowland.harvard.edu</email>
</author>
<published>2009-02-12T19:47:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e6e244b6cb1f70e7109381626293cd40a8334ed3'/>
<id>urn:sha1:e6e244b6cb1f70e7109381626293cd40a8334ed3</id>
<content type='text'>
This patch (as1206) is the first step in converting usb-storage's
subdrivers into separate modules.  It makes the following large-scale
changes:

	Remove a bunch of unnecessary #ifdef's from usb_usual.h.
	Not truly necessary, but it does clean things up.

	Move the USB device-ID table (which is duplicated between
	libusual and usb-storage) into its own source file,
	usual-tables.c, and arrange for this to be linked with
	either libusual or usb-storage according to whether
	USB_LIBUSUAL is configured.

	Add to usual-tables.c a new usb_usual_ignore_device()
	function to detect whether a particular device needs to be
	managed by a subdriver and not by the standard handlers
	in usb-storage.

	Export a whole bunch of functions in usb-storage, renaming
	some of them because their names don't already begin with
	"usb_stor_".  These functions will be needed by the new
	subdriver modules.

	Split usb-storage's probe routine into two functions.
	The subdrivers will call the probe1 routine, then fill in
	their transport and protocol settings, and then call the
	probe2 routine.

	Take the default cases and error checking out of
	get_transport() and get_protocol(), which run during
	probe1, and instead put a check for invalid transport
	or protocol values into the probe2 function.

	Add a new probe routine to be used for standard devices,
	i.e., those that don't need a subdriver.  This new routine
	checks whether the device should be ignored (because it
	should be handled by ub or by a subdriver), and if not,
	calls the probe1 and probe2 functions.

Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
CC: Matthew Dharm &lt;mdharm-usb@one-eyed-alien.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>USB: usb-storage: merge ATAPI and QIC-157 protocol routines</title>
<updated>2009-01-07T17:59:57Z</updated>
<author>
<name>Alan Stern</name>
<email>stern@rowland.harvard.edu</email>
</author>
<published>2008-11-20T19:22:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3dae5345311271fe598a61bd01f563fc835b4217'/>
<id>urn:sha1:3dae5345311271fe598a61bd01f563fc835b4217</id>
<content type='text'>
This patch (as1174) merges usb-storage's QIC-157 and ATAPI protocol
routines.  Since the two functions are identical, there's no reason to
keep them separate.

Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Cc: Matthew Dharm &lt;mdharm-usb@one-eyed-alien.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>USB: remove CVS keywords</title>
<updated>2008-07-21T22:15:55Z</updated>
<author>
<name>Adrian Bunk</name>
<email>bunk@kernel.org</email>
</author>
<published>2008-05-19T22:00:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ea05af61a874ffbc158d9cf06df8a9396f299f38'/>
<id>urn:sha1:ea05af61a874ffbc158d9cf06df8a9396f299f38</id>
<content type='text'>
This patch removes CVS keywords that weren't updated for a long time
from comments.

Signed-off-by: Adrian Bunk &lt;bunk@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>usb-storage: update earlier scatter-gather bug fix</title>
<updated>2008-03-04T22:57:43Z</updated>
<author>
<name>Alan Stern</name>
<email>stern@rowland.harvard.edu</email>
</author>
<published>2008-02-22T22:00:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6d512a80c26d87f8599057c86dc920fbfe0aa3aa'/>
<id>urn:sha1:6d512a80c26d87f8599057c86dc920fbfe0aa3aa</id>
<content type='text'>
This patch (as1037) makes a small update to the earlier as1035 patch.
The minimum-length computation shouldn't be done in
usb_stor_access_xfer_buf(), since that routine can be called multiple
times for a single transfer.  It should be done in
usb_stor_set_xfer_buf() instead, which gets called only once.

The way it is now isn't really _wrong_, but it isn't really _right_
either.  Moving the statement will be an improvement.

Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>USB: usb-storage: don't access beyond the end of the sg buffer</title>
<updated>2008-02-21T23:38:55Z</updated>
<author>
<name>Alan Stern</name>
<email>stern@rowland.harvard.edu</email>
</author>
<published>2008-02-20T19:15:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7084191d53b224b953c8e1db525ea6c31aca5fc7'/>
<id>urn:sha1:7084191d53b224b953c8e1db525ea6c31aca5fc7</id>
<content type='text'>
This patch (as1035) fixes a bug in usb_stor_access_xfer_buf() (the bug
was originally found by Boaz Harrosh): The routine must not attempt to
write beyond the end of a scatter-gather list or beyond the number of
bytes requested.  It also fixes up the formatting of a few comments
and similar whitespace issues.

Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>[SCSI] usb: protocol - convert to accessors and !use_sg code path removal</title>
<updated>2008-01-12T00:22:36Z</updated>
<author>
<name>Boaz Harrosh</name>
<email>bharrosh@panasas.com</email>
</author>
<published>2007-09-09T17:22:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=dd829d2302c6b0f88542ca367229d676cb9ca212'/>
<id>urn:sha1:dd829d2302c6b0f88542ca367229d676cb9ca212</id>
<content type='text'>
 - Use scsi data accessors and remove of !use_sg code path

Signed-off-by: Boaz Harrosh &lt;bharrosh@panasas.com&gt;
Acked-by: Matthew Dharm &lt;mdharm-scsi@one-eyed-alien.net&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
</entry>
<entry>
<title>[SG] Update drivers to use sg helpers</title>
<updated>2007-10-22T19:19:53Z</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2007-10-22T19:19:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=45711f1af6eff1a6d010703b4862e0d2b9afd056'/>
<id>urn:sha1:45711f1af6eff1a6d010703b4862e0d2b9afd056</id>
<content type='text'>
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>USB storage: sg chaining support</title>
<updated>2007-10-16T09:20:59Z</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2007-05-11T10:33:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1f6f31a03e3aed0854a6aa3ab763c3d3b2ff42ff'/>
<id>urn:sha1:1f6f31a03e3aed0854a6aa3ab763c3d3b2ff42ff</id>
<content type='text'>
[PATCH] USB storage: sg chaining support

Modify usb_stor_access_xfer_buf() to take a pointer to an sg
entry pointer, so we can keep track of that instead of passing
around an integer index (which we can't use when dealing with
multiple scatterlist arrays).

Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
</feed>
