提交 3dae5345 编写于 作者: A Alan Stern 提交者: Greg Kroah-Hartman

USB: usb-storage: merge ATAPI and QIC-157 protocol routines

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: NAlan Stern <stern@rowland.harvard.edu>
Cc: Matthew Dharm <mdharm-usb@one-eyed-alien.net>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 64648a9d
...@@ -56,9 +56,9 @@ ...@@ -56,9 +56,9 @@
* Protocol routines * Protocol routines
***********************************************************************/ ***********************************************************************/
void usb_stor_qic157_command(struct scsi_cmnd *srb, struct us_data *us) void usb_stor_pad12_command(struct scsi_cmnd *srb, struct us_data *us)
{ {
/* Pad the ATAPI command with zeros /* Pad the SCSI command with zeros out to 12 bytes
* *
* NOTE: This only works because a scsi_cmnd struct field contains * NOTE: This only works because a scsi_cmnd struct field contains
* a unsigned char cmnd[16], so we know we have storage available * a unsigned char cmnd[16], so we know we have storage available
...@@ -73,26 +73,6 @@ void usb_stor_qic157_command(struct scsi_cmnd *srb, struct us_data *us) ...@@ -73,26 +73,6 @@ void usb_stor_qic157_command(struct scsi_cmnd *srb, struct us_data *us)
usb_stor_invoke_transport(srb, us); usb_stor_invoke_transport(srb, us);
} }
void usb_stor_ATAPI_command(struct scsi_cmnd *srb, struct us_data *us)
{
/* Pad the ATAPI command with zeros
*
* NOTE: This only works because a scsi_cmnd struct field contains
* a unsigned char cmnd[16], so we know we have storage available
*/
/* Pad the ATAPI command with zeros */
for (; srb->cmd_len<12; srb->cmd_len++)
srb->cmnd[srb->cmd_len] = 0;
/* set command length to 12 bytes */
srb->cmd_len = 12;
/* send the command to the transport layer */
usb_stor_invoke_transport(srb, us);
}
void usb_stor_ufi_command(struct scsi_cmnd *srb, struct us_data *us) void usb_stor_ufi_command(struct scsi_cmnd *srb, struct us_data *us)
{ {
/* fix some commands -- this is a form of mode translation /* fix some commands -- this is a form of mode translation
......
...@@ -40,8 +40,7 @@ ...@@ -40,8 +40,7 @@
#define _PROTOCOL_H_ #define _PROTOCOL_H_
/* Protocol handling routines */ /* Protocol handling routines */
extern void usb_stor_ATAPI_command(struct scsi_cmnd*, struct us_data*); extern void usb_stor_pad12_command(struct scsi_cmnd*, struct us_data*);
extern void usb_stor_qic157_command(struct scsi_cmnd*, struct us_data*);
extern void usb_stor_ufi_command(struct scsi_cmnd*, struct us_data*); extern void usb_stor_ufi_command(struct scsi_cmnd*, struct us_data*);
extern void usb_stor_transparent_scsi_command(struct scsi_cmnd*, extern void usb_stor_transparent_scsi_command(struct scsi_cmnd*,
struct us_data*); struct us_data*);
......
...@@ -704,19 +704,19 @@ static int get_protocol(struct us_data *us) ...@@ -704,19 +704,19 @@ static int get_protocol(struct us_data *us)
case US_SC_8020: case US_SC_8020:
us->protocol_name = "8020i"; us->protocol_name = "8020i";
us->proto_handler = usb_stor_ATAPI_command; us->proto_handler = usb_stor_pad12_command;
us->max_lun = 0; us->max_lun = 0;
break; break;
case US_SC_QIC: case US_SC_QIC:
us->protocol_name = "QIC-157"; us->protocol_name = "QIC-157";
us->proto_handler = usb_stor_qic157_command; us->proto_handler = usb_stor_pad12_command;
us->max_lun = 0; us->max_lun = 0;
break; break;
case US_SC_8070: case US_SC_8070:
us->protocol_name = "8070i"; us->protocol_name = "8070i";
us->proto_handler = usb_stor_ATAPI_command; us->proto_handler = usb_stor_pad12_command;
us->max_lun = 0; us->max_lun = 0;
break; break;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册