diff mbox

IB/core: fix incorrect fall-through on switch statement

Message ID 20170911160313.28240-1-colin.king@canonical.com (mailing list archive)
State Accepted
Headers show

Commit Message

Colin King Sept. 11, 2017, 4:03 p.m. UTC
From: Colin Ian King <colin.king@canonical.com>

In the case where mbox_status is OCRDMA_MBX_STATUS_FAILED and
add_status is OCRDMA_MBX_STATUS_FAILED err_num is assigned -EAGAIN
however the case OCRDMA_MBX_STATUS_FAILED is missing a break and
falls through to the default case which then re-assigns err_num
to -EFAULT.   Fix this so that err_num is assigned to -EAGAIN
for the add_status OCRDMA_MBX_STATUS_FAILED case and -EFAULT
otherwise.

Detected by CoverityScan CID#703125 ("Missing break in switch")

Fixes: fe2caefcdf58 ("RDMA/ocrdma: Add driver for Emulex OneConnect IBoE RDMA adapter")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Leon Romanovsky Sept. 13, 2017, 4:49 p.m. UTC | #1
On Mon, Sep 11, 2017 at 05:03:13PM +0100, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
>
> In the case where mbox_status is OCRDMA_MBX_STATUS_FAILED and
> add_status is OCRDMA_MBX_STATUS_FAILED err_num is assigned -EAGAIN
> however the case OCRDMA_MBX_STATUS_FAILED is missing a break and
> falls through to the default case which then re-assigns err_num
> to -EFAULT.   Fix this so that err_num is assigned to -EAGAIN
> for the add_status OCRDMA_MBX_STATUS_FAILED case and -EFAULT
> otherwise.
>
> Detected by CoverityScan CID#703125 ("Missing break in switch")
>
> Fixes: fe2caefcdf58 ("RDMA/ocrdma: Add driver for Emulex OneConnect IBoE RDMA adapter")
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> ---
>  drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 3 +++
>  1 file changed, 3 insertions(+)
>

Except the wrong title: IB/core -> IB/ocrdma

Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
Thanks
Doug Ledford Sept. 22, 2017, 5:16 p.m. UTC | #2
On Wed, 2017-09-13 at 19:49 +0300, Leon Romanovsky wrote:
> On Mon, Sep 11, 2017 at 05:03:13PM +0100, Colin King wrote:
> > From: Colin Ian King <colin.king@canonical.com>
> > 
> > In the case where mbox_status is OCRDMA_MBX_STATUS_FAILED and
> > add_status is OCRDMA_MBX_STATUS_FAILED err_num is assigned -EAGAIN
> > however the case OCRDMA_MBX_STATUS_FAILED is missing a break and
> > falls through to the default case which then re-assigns err_num
> > to -EFAULT.   Fix this so that err_num is assigned to -EAGAIN
> > for the add_status OCRDMA_MBX_STATUS_FAILED case and -EFAULT
> > otherwise.
> > 
> > Detected by CoverityScan CID#703125 ("Missing break in switch")
> > 
> > Fixes: fe2caefcdf58 ("RDMA/ocrdma: Add driver for Emulex OneConnect
> > IBoE RDMA adapter")
> > Signed-off-by: Colin Ian King <colin.king@canonical.com>
> > ---
> >  drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> 
> Except the wrong title: IB/core -> IB/ocrdma
> 
> Reviewed-by: Leon Romanovsky <leonro@mellanox.com>

Thanks, patch (with fixed subject) applied.
diff mbox

Patch

diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
index dcb5942f9fb5..65b166cc7437 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
@@ -252,7 +252,10 @@  static int ocrdma_get_mbx_errno(u32 status)
 		case OCRDMA_MBX_ADDI_STATUS_INSUFFICIENT_RESOURCES:
 			err_num = -EAGAIN;
 			break;
+		default:
+			err_num = -EFAULT;
 		}
+		break;
 	default:
 		err_num = -EFAULT;
 	}