lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <918733AE-DAE0-4B10-B013-5D26895130F0@qlogic.com>
Date:	Wed, 2 Dec 2009 12:39:42 -0800
From:	Giridhar Malavali <giridhar.malavali@...gic.com>
To:	Joe Jin <joe.jin@...cle.com>
Cc:	Andrew Vasquez <andrew.vasquez@...gic.com>,
	"linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	"gurudas.pai@...cle.com" <gurudas.pai@...cle.com>,
	"kate.zhang@...cle.com" <kate.zhang@...cle.com>
Subject: Re: [patch] qla2xxx: use F/W calculated residual length.


On Nov 30, 2009, at 5:37 PM, Joe Jin wrote:

> Hi,
>
> When comp_status is CS_DATA_OVERRUN, residual length calculated by F/ 
> W,
> but when comp_status is CS_COMMPLETE, residual length just set to  
> residual
> count, at here calculated residual length may via F/W?

In case of good scsi completion with residual flag set, then firmware  
does not report the residual information, hence, driver depends upon  
the scsi residual obtained from target. The code does this now.

In case of over-run condition driver reports DID_ERROR to mid layer.

In case of under-run condition, the firmware detects and reports under  
run length which can be different from what obtained from target.  
Hence, driver gives preference to firmware reported residual length.

>
>
> Please review.
>
> Signed-off-by: Joe Jin <joe.jin@...cle.com>
> CC: Andrew Vasquez <andrew.vasquez@...gic.com>
>
> ---
> qla_isr.c |    2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/ 
> qla_isr.c
> index b20a716..4d1d410 100644
> --- a/drivers/scsi/qla2xxx/qla_isr.c
> +++ b/drivers/scsi/qla2xxx/qla_isr.c
> @@ -1398,7 +1398,7 @@ qla2x00_status_entry(scsi_qla_host_t *vha,  
> struct rsp_que *rsp, void *pkt)
> 			break;
> 		}
> 		if (scsi_status & (SS_RESIDUAL_UNDER | SS_RESIDUAL_OVER)) {
> -			resid = resid_len;
> +			resid = IS_FWI2_CAPABLE(ha) ? fw_resid_len : resid_len;
> 			scsi_set_resid(cp, resid);
>
> 			if (!lscsi_status &&
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux- 
> scsi" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ