mirror of
https://github.com/torvalds/linux.git
synced 2024-11-05 11:32:04 +00:00
4d07ef762f
This patch causes a port reset whenever there's a transport error or abort. If that fails it reverts back to doing a mass-storage device reset. It started life as as497 and was rediffed by me. This makes error recovery a lot quicker and more reliable. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Matthew Dharm <mdharm-usb@one-eyed-alien.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
51 lines
2.0 KiB
C
51 lines
2.0 KiB
C
/* Driver for USB Mass Storage compliant devices
|
|
* SCSI Connecting Glue Header File
|
|
*
|
|
* $Id: scsiglue.h,v 1.4 2000/08/25 00:13:51 mdharm Exp $
|
|
*
|
|
* Current development and maintenance by:
|
|
* (c) 1999, 2000 Matthew Dharm (mdharm-usb@one-eyed-alien.net)
|
|
*
|
|
* This driver is based on the 'USB Mass Storage Class' document. This
|
|
* describes in detail the protocol used to communicate with such
|
|
* devices. Clearly, the designers had SCSI and ATAPI commands in
|
|
* mind when they created this document. The commands are all very
|
|
* similar to commands in the SCSI-II and ATAPI specifications.
|
|
*
|
|
* It is important to note that in a number of cases this class
|
|
* exhibits class-specific exemptions from the USB specification.
|
|
* Notably the usage of NAK, STALL and ACK differs from the norm, in
|
|
* that they are used to communicate wait, failed and OK on commands.
|
|
*
|
|
* Also, for certain devices, the interrupt endpoint is used to convey
|
|
* status of a command.
|
|
*
|
|
* Please see http://www.one-eyed-alien.net/~mdharm/linux-usb for more
|
|
* information about this driver.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
* under the terms of the GNU General Public License as published by the
|
|
* Free Software Foundation; either version 2, or (at your option) any
|
|
* later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful, but
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along
|
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
* 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*/
|
|
|
|
#ifndef _SCSIGLUE_H_
|
|
#define _SCSIGLUE_H_
|
|
|
|
extern void usb_stor_report_device_reset(struct us_data *us);
|
|
extern void usb_stor_report_bus_reset(struct us_data *us);
|
|
|
|
extern unsigned char usb_stor_sense_invalidCDB[18];
|
|
extern struct scsi_host_template usb_stor_host_template;
|
|
|
|
#endif
|