Procházet zdrojové kódy

[SCSI] megaraid_sas: tape drive support fix

Add the Tape drive fix to the megaraid_sas driver: If the command is
for the tape device, set the FW pthru timeout to the os layer timeout
value.

Signed-off-by Bo Yang<bo.yang@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Yang, Bo před 15 roky
rodič
revize
8d56825321
1 změnil soubory, kde provedl 11 přidání a 0 odebrání
  1. 11 0
      drivers/scsi/megaraid/megaraid_sas.c

+ 11 - 0
drivers/scsi/megaraid/megaraid_sas.c

@@ -686,6 +686,17 @@ megasas_build_dcdb(struct megasas_instance *instance, struct scsi_cmnd *scp,
 
 	memcpy(pthru->cdb, scp->cmnd, scp->cmd_len);
 
+	/*
+	* If the command is for the tape device, set the
+	* pthru timeout to the os layer timeout value.
+	*/
+	if (scp->device->type == TYPE_TAPE) {
+		if ((scp->request->timeout / HZ) > 0xFFFF)
+			pthru->timeout = 0xFFFF;
+		else
+			pthru->timeout = scp->request->timeout / HZ;
+	}
+
 	/*
 	 * Construct SGL
 	 */