OSDN Git Service

RDMA/ocrdma: Simplify process_mad function
authorLeon Romanovsky <leonro@mellanox.com>
Tue, 29 Oct 2019 06:27:40 +0000 (08:27 +0200)
committerJason Gunthorpe <jgg@mellanox.com>
Wed, 6 Nov 2019 20:00:06 +0000 (16:00 -0400)
Change the switch with one case into a simple if statement so the code is
less confusing.

Link: https://lore.kernel.org/r/20191029062745.7932-12-leon@kernel.org
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/ocrdma/ocrdma_ah.c

index 0dc74ef..4098508 100644 (file)
@@ -256,20 +256,16 @@ int ocrdma_process_mad(struct ib_device *ibdev,
                       struct ib_mad_hdr *out, size_t *out_mad_size,
                       u16 *out_mad_pkey_index)
 {
-       int status;
+       int status = IB_MAD_RESULT_SUCCESS;
        struct ocrdma_dev *dev;
        const struct ib_mad *in_mad = (const struct ib_mad *)in;
        struct ib_mad *out_mad = (struct ib_mad *)out;
 
-       switch (in_mad->mad_hdr.mgmt_class) {
-       case IB_MGMT_CLASS_PERF_MGMT:
+       if (in_mad->mad_hdr.mgmt_class == IB_MGMT_CLASS_PERF_MGMT) {
                dev = get_ocrdma_dev(ibdev);
                ocrdma_pma_counters(dev, out_mad);
-               status = IB_MAD_RESULT_SUCCESS | IB_MAD_RESULT_REPLY;
-               break;
-       default:
-               status = IB_MAD_RESULT_SUCCESS;
-               break;
+               status |= IB_MAD_RESULT_REPLY;
        }
+
        return status;
 }