IB/hfi1: Fix i2c resource reservation checks
authorDean Luick <dean.luick@intel.com>
Tue, 12 Apr 2016 17:50:04 +0000 (10:50 -0700)
committerDoug Ledford <dledford@redhat.com>
Thu, 28 Apr 2016 20:32:27 +0000 (16:32 -0400)
The i2c and qsfp read/write routines should check for the resource
reservation of the incoming argument target rather than the implicit
target of the hardware HFI.

Reviewed-by: Easwar Hariharan <easwar.hariharan@intel.com>
Signed-off-by: Dean Luick <dean.luick@intel.com>
Signed-off-by: Jubin John <jubin.john@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/staging/rdma/hfi1/qsfp.c

index 9ed1963010feae31f110122f603bc5a01a002d4d..ac03d80d27ccee78905fa307ed30d2d485334314 100644 (file)
@@ -96,7 +96,7 @@ int i2c_write(struct hfi1_pportdata *ppd, u32 target, int i2c_addr, int offset,
 {
        int ret;
 
-       if (!check_chip_resource(ppd->dd, qsfp_resource(ppd->dd), __func__))
+       if (!check_chip_resource(ppd->dd, i2c_target(target), __func__))
                return -EACCES;
 
        /* make sure the TWSI bus is in a sane state */
@@ -162,7 +162,7 @@ int i2c_read(struct hfi1_pportdata *ppd, u32 target, int i2c_addr, int offset,
 {
        int ret;
 
-       if (!check_chip_resource(ppd->dd, qsfp_resource(ppd->dd), __func__))
+       if (!check_chip_resource(ppd->dd, i2c_target(target), __func__))
                return -EACCES;
 
        /* make sure the TWSI bus is in a sane state */
@@ -192,7 +192,7 @@ int qsfp_write(struct hfi1_pportdata *ppd, u32 target, int addr, void *bp,
        int ret;
        u8 page;
 
-       if (!check_chip_resource(ppd->dd, qsfp_resource(ppd->dd), __func__))
+       if (!check_chip_resource(ppd->dd, i2c_target(target), __func__))
                return -EACCES;
 
        /* make sure the TWSI bus is in a sane state */
@@ -276,7 +276,7 @@ int qsfp_read(struct hfi1_pportdata *ppd, u32 target, int addr, void *bp,
        int ret;
        u8 page;
 
-       if (!check_chip_resource(ppd->dd, qsfp_resource(ppd->dd), __func__))
+       if (!check_chip_resource(ppd->dd, i2c_target(target), __func__))
                return -EACCES;
 
        /* make sure the TWSI bus is in a sane state */