소스 검색

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: Alan Stern <stern@rowland.harvard.edu>
Cc: Matthew Dharm <mdharm-usb@one-eyed-alien.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Alan Stern 16 년 전
부모
커밋
3dae534531
3개의 변경된 파일6개의 추가작업 그리고 27개의 파일을 삭제
  1. 2 22
      drivers/usb/storage/protocol.c
  2. 1 2
      drivers/usb/storage/protocol.h
  3. 3 3
      drivers/usb/storage/usb.c

+ 2 - 22
drivers/usb/storage/protocol.c

@@ -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)
 	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

+ 1 - 2
drivers/usb/storage/protocol.h

@@ -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_qic157_command(struct scsi_cmnd*, struct us_data*);
+extern void usb_stor_pad12_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*);

+ 3 - 3
drivers/usb/storage/usb.c

@@ -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;