Re: [2.6 patch] scsi/qla4xxx/ql4_isr.c: remove dead code

2008-02-21 Thread Rolf Eike Beer
> The correct patch needs to be
>
> Signed-off-by: David C Somayajulu <[EMAIL PROTECTED]>
>
> ---
>
> diff --git a/drivers/scsi/qla4xxx/ql4_isr.c
> b/drivers/scsi/qla4xxx/ql4_isr.c
> index 0f029d0..fc84db4 100644
> --- a/drivers/scsi/qla4xxx/ql4_isr.c
> +++ b/drivers/scsi/qla4xxx/ql4_isr.c
> @@ -100,8 +100,7 @@ static void qla4xxx_status_entry(struct
>
>   if (sts_entry->iscsiFlags &ISCSI_FLAG_RESIDUAL_UNDER) {
>   scsi_set_resid(cmd, residual);
> - if (!scsi_status && ((scsi_bufflen(cmd) -
> residual) <
> - cmd->underflow)) {
> + if ((scsi_bufflen(cmd) - residual) <
> cmd->underflow) {

The patch is line-wrapped and can' be applied.

Greetings,

Eike


signature.asc
Description: This is a digitally signed message part.


RE: [2.6 patch] scsi/qla4xxx/ql4_isr.c: remove dead code

2008-02-21 Thread David Somayajulu
 
Andrew Vasquez wrote:

> > > Hmm, guess it's the earlier 'if (scsi_status == 0)' check 
> a few lines
> > > up...  Dave S., can you take a look at this...  Thanks, av
> > 
> > Ah, so the !scsi_status is wrong it was supposed to be 
> scsi_status !=
> > 0 ... and even then it can just be dropped.
> 
> My guess is that the check should have been written as:
> 
>   ...
>   if (sts_entry->iscsiFlags &ISCSI_FLAG_RESIDUAL_UNDER)
>   scsi_set_resid(cmd, residual);
>   if ((scsi_bufflen(cmd) - residual) < cmd->underflow) {
>   ...
> 
> It looks to be a logic-error while porting from qla2xxx, where
> scsi_status during CS_COMPLETE is the full 16-bit status (high-byte is
> transport, low-byte SCSI status) from from the FCP_RSP frame (not so
> in iSCSI, where it's just the SCSI-status) and the residual check
> in qla_isr.c::qla2x00_status_entry() looks like:
> 
>   if (!lscsi_status &&
>   ((unsigned)(scsi_bufflen(cp) - resid) <
>cp->underflow)) {
>   ...
> 
> I'll defer to Dave S. for verification.
> 
The correct patch needs to be 

Signed-off-by: David C Somayajulu <[EMAIL PROTECTED]>

---

diff --git a/drivers/scsi/qla4xxx/ql4_isr.c
b/drivers/scsi/qla4xxx/ql4_isr.c
index 0f029d0..fc84db4 100644
--- a/drivers/scsi/qla4xxx/ql4_isr.c
+++ b/drivers/scsi/qla4xxx/ql4_isr.c
@@ -100,8 +100,7 @@ static void qla4xxx_status_entry(struct
 
if (sts_entry->iscsiFlags &ISCSI_FLAG_RESIDUAL_UNDER) {
scsi_set_resid(cmd, residual);
-   if (!scsi_status && ((scsi_bufflen(cmd) -
residual) <
-   cmd->underflow)) {
+   if ((scsi_bufflen(cmd) - residual) <
cmd->underflow) {
 
cmd->result = DID_ERROR << 16;
 
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2.6 patch] scsi/qla4xxx/ql4_isr.c: remove dead code

2008-02-19 Thread Andrew Vasquez
On Tue, 19 Feb 2008, James Bottomley wrote:

> On Tue, 2008-02-19 at 18:35 -0800, Andrew Vasquez wrote:
> > On Tue, 19 Feb 2008, James Bottomley wrote:
> > 
> > > On Tue, 2008-02-19 at 21:29 +0200, Adrian Bunk wrote:
> > > > This patch removes dead code spotted by the Coverity checker.
> > > > 
> > > > Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>
> > > > 
> > > > ---
> > > > 
> > > >  drivers/scsi/qla4xxx/ql4_isr.c |   18 +-
> > > >  1 file changed, 1 insertion(+), 17 deletions(-)
> > > > 
> > > > --- linux-2.6/drivers/scsi/qla4xxx/ql4_isr.c.old2008-02-19 
> > > > 20:29:16.0 +0200
> > > > +++ linux-2.6/drivers/scsi/qla4xxx/ql4_isr.c2008-02-19 
> > > > 20:30:37.0 +0200
> > > > @@ -91,38 +91,22 @@ static void qla4xxx_status_entry(struct 
> > > > if (scsi_status == 0) {
> > > > cmd->result = DID_OK << 16;
> > > > break;
> > > > }
> > > >  
> > > > if (sts_entry->iscsiFlags & ISCSI_FLAG_RESIDUAL_OVER) {
> > > > cmd->result = DID_ERROR << 16;
> > > > break;
> > > > }
> > > >  
> > > > -   if (sts_entry->iscsiFlags &ISCSI_FLAG_RESIDUAL_UNDER) {
> > > > +   if (sts_entry->iscsiFlags &ISCSI_FLAG_RESIDUAL_UNDER)
> > > > scsi_set_resid(cmd, residual);
> > > > -   if (!scsi_status && ((scsi_bufflen(cmd) - 
> > > > residual) <
> > > > -   cmd->underflow)) {
> > > > -
> > > > -   cmd->result = DID_ERROR << 16;
> > > > -
> > > > -   DEBUG2(printk("scsi%ld:%d:%d:%d: %s: "
> > > > -   "Mid-layer Data underrun0, "
> > > > -   "xferlen = 0x%x, "
> > > > -   "residual = 0x%x\n", 
> > > > ha->host_no,
> > > > -   cmd->device->channel,
> > > > -   cmd->device->id,
> > > > -   cmd->device->lun, __func__,
> > > > -   scsi_bufflen(cmd), residual));
> > > > -   break;
> > > > -   }
> > > > -   }
> > > 
> > > This code doesn't look dead to me, it looks to be enforcing
> > > cmd->underrun if set ... what makes the coverity checker think it can
> > > never be executed?
> > 
> > Hmm, guess it's the earlier 'if (scsi_status == 0)' check a few lines
> > up...  Dave S., can you take a look at this...  Thanks, av
> 
> Ah, so the !scsi_status is wrong it was supposed to be scsi_status !=
> 0 ... and even then it can just be dropped.

My guess is that the check should have been written as:

...
if (sts_entry->iscsiFlags &ISCSI_FLAG_RESIDUAL_UNDER)
scsi_set_resid(cmd, residual);
if ((scsi_bufflen(cmd) - residual) < cmd->underflow) {
...

It looks to be a logic-error while porting from qla2xxx, where
scsi_status during CS_COMPLETE is the full 16-bit status (high-byte is
transport, low-byte SCSI status) from from the FCP_RSP frame (not so
in iSCSI, where it's just the SCSI-status) and the residual check
in qla_isr.c::qla2x00_status_entry() looks like:

if (!lscsi_status &&
((unsigned)(scsi_bufflen(cp) - resid) <
 cp->underflow)) {
...

I'll defer to Dave S. for verification.
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2.6 patch] scsi/qla4xxx/ql4_isr.c: remove dead code

2008-02-19 Thread James Bottomley

On Tue, 2008-02-19 at 18:35 -0800, Andrew Vasquez wrote:
> On Tue, 19 Feb 2008, James Bottomley wrote:
> 
> > On Tue, 2008-02-19 at 21:29 +0200, Adrian Bunk wrote:
> > > This patch removes dead code spotted by the Coverity checker.
> > > 
> > > Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>
> > > 
> > > ---
> > > 
> > >  drivers/scsi/qla4xxx/ql4_isr.c |   18 +-
> > >  1 file changed, 1 insertion(+), 17 deletions(-)
> > > 
> > > --- linux-2.6/drivers/scsi/qla4xxx/ql4_isr.c.old  2008-02-19 
> > > 20:29:16.0 +0200
> > > +++ linux-2.6/drivers/scsi/qla4xxx/ql4_isr.c  2008-02-19 
> > > 20:30:37.0 +0200
> > > @@ -91,38 +91,22 @@ static void qla4xxx_status_entry(struct 
> > >   if (scsi_status == 0) {
> > >   cmd->result = DID_OK << 16;
> > >   break;
> > >   }
> > >  
> > >   if (sts_entry->iscsiFlags & ISCSI_FLAG_RESIDUAL_OVER) {
> > >   cmd->result = DID_ERROR << 16;
> > >   break;
> > >   }
> > >  
> > > - if (sts_entry->iscsiFlags &ISCSI_FLAG_RESIDUAL_UNDER) {
> > > + if (sts_entry->iscsiFlags &ISCSI_FLAG_RESIDUAL_UNDER)
> > >   scsi_set_resid(cmd, residual);
> > > - if (!scsi_status && ((scsi_bufflen(cmd) - residual) <
> > > - cmd->underflow)) {
> > > -
> > > - cmd->result = DID_ERROR << 16;
> > > -
> > > - DEBUG2(printk("scsi%ld:%d:%d:%d: %s: "
> > > - "Mid-layer Data underrun0, "
> > > - "xferlen = 0x%x, "
> > > - "residual = 0x%x\n", ha->host_no,
> > > - cmd->device->channel,
> > > - cmd->device->id,
> > > - cmd->device->lun, __func__,
> > > - scsi_bufflen(cmd), residual));
> > > - break;
> > > - }
> > > - }
> > 
> > This code doesn't look dead to me, it looks to be enforcing
> > cmd->underrun if set ... what makes the coverity checker think it can
> > never be executed?
> 
> Hmm, guess it's the earlier 'if (scsi_status == 0)' check a few lines
> up...  Dave S., can you take a look at this...  Thanks, av

Ah, so the !scsi_status is wrong it was supposed to be scsi_status !=
0 ... and even then it can just be dropped.

James


-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2.6 patch] scsi/qla4xxx/ql4_isr.c: remove dead code

2008-02-19 Thread Andrew Vasquez
On Tue, 19 Feb 2008, James Bottomley wrote:

> On Tue, 2008-02-19 at 21:29 +0200, Adrian Bunk wrote:
> > This patch removes dead code spotted by the Coverity checker.
> > 
> > Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>
> > 
> > ---
> > 
> >  drivers/scsi/qla4xxx/ql4_isr.c |   18 +-
> >  1 file changed, 1 insertion(+), 17 deletions(-)
> > 
> > --- linux-2.6/drivers/scsi/qla4xxx/ql4_isr.c.old2008-02-19 
> > 20:29:16.0 +0200
> > +++ linux-2.6/drivers/scsi/qla4xxx/ql4_isr.c2008-02-19 
> > 20:30:37.0 +0200
> > @@ -91,38 +91,22 @@ static void qla4xxx_status_entry(struct 
> > if (scsi_status == 0) {
> > cmd->result = DID_OK << 16;
> > break;
> > }
> >  
> > if (sts_entry->iscsiFlags & ISCSI_FLAG_RESIDUAL_OVER) {
> > cmd->result = DID_ERROR << 16;
> > break;
> > }
> >  
> > -   if (sts_entry->iscsiFlags &ISCSI_FLAG_RESIDUAL_UNDER) {
> > +   if (sts_entry->iscsiFlags &ISCSI_FLAG_RESIDUAL_UNDER)
> > scsi_set_resid(cmd, residual);
> > -   if (!scsi_status && ((scsi_bufflen(cmd) - residual) <
> > -   cmd->underflow)) {
> > -
> > -   cmd->result = DID_ERROR << 16;
> > -
> > -   DEBUG2(printk("scsi%ld:%d:%d:%d: %s: "
> > -   "Mid-layer Data underrun0, "
> > -   "xferlen = 0x%x, "
> > -   "residual = 0x%x\n", ha->host_no,
> > -   cmd->device->channel,
> > -   cmd->device->id,
> > -   cmd->device->lun, __func__,
> > -   scsi_bufflen(cmd), residual));
> > -   break;
> > -   }
> > -   }
> 
> This code doesn't look dead to me, it looks to be enforcing
> cmd->underrun if set ... what makes the coverity checker think it can
> never be executed?

Hmm, guess it's the earlier 'if (scsi_status == 0)' check a few lines
up...  Dave S., can you take a look at this...  Thanks, av
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2.6 patch] scsi/qla4xxx/ql4_isr.c: remove dead code

2008-02-19 Thread James Bottomley
On Tue, 2008-02-19 at 21:29 +0200, Adrian Bunk wrote:
> This patch removes dead code spotted by the Coverity checker.
> 
> Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>
> 
> ---
> 
>  drivers/scsi/qla4xxx/ql4_isr.c |   18 +-
>  1 file changed, 1 insertion(+), 17 deletions(-)
> 
> --- linux-2.6/drivers/scsi/qla4xxx/ql4_isr.c.old  2008-02-19 
> 20:29:16.0 +0200
> +++ linux-2.6/drivers/scsi/qla4xxx/ql4_isr.c  2008-02-19 20:30:37.0 
> +0200
> @@ -91,38 +91,22 @@ static void qla4xxx_status_entry(struct 
>   if (scsi_status == 0) {
>   cmd->result = DID_OK << 16;
>   break;
>   }
>  
>   if (sts_entry->iscsiFlags & ISCSI_FLAG_RESIDUAL_OVER) {
>   cmd->result = DID_ERROR << 16;
>   break;
>   }
>  
> - if (sts_entry->iscsiFlags &ISCSI_FLAG_RESIDUAL_UNDER) {
> + if (sts_entry->iscsiFlags &ISCSI_FLAG_RESIDUAL_UNDER)
>   scsi_set_resid(cmd, residual);
> - if (!scsi_status && ((scsi_bufflen(cmd) - residual) <
> - cmd->underflow)) {
> -
> - cmd->result = DID_ERROR << 16;
> -
> - DEBUG2(printk("scsi%ld:%d:%d:%d: %s: "
> - "Mid-layer Data underrun0, "
> - "xferlen = 0x%x, "
> - "residual = 0x%x\n", ha->host_no,
> - cmd->device->channel,
> - cmd->device->id,
> - cmd->device->lun, __func__,
> - scsi_bufflen(cmd), residual));
> - break;
> - }
> - }

This code doesn't look dead to me, it looks to be enforcing
cmd->underrun if set ... what makes the coverity checker think it can
never be executed?

James


-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html