diff options
-rw-r--r-- | drivers/scsi/lpfc/lpfc_attr.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c index 6793df86a425..f1019908800e 100644 --- a/drivers/scsi/lpfc/lpfc_attr.c +++ b/drivers/scsi/lpfc/lpfc_attr.c | |||
@@ -1621,6 +1621,11 @@ lpfc_sriov_hw_max_virtfn_show(struct device *dev, | |||
1621 | return snprintf(buf, PAGE_SIZE, "%d\n", max_nr_virtfn); | 1621 | return snprintf(buf, PAGE_SIZE, "%d\n", max_nr_virtfn); |
1622 | } | 1622 | } |
1623 | 1623 | ||
1624 | static inline bool lpfc_rangecheck(uint val, uint min, uint max) | ||
1625 | { | ||
1626 | return val >= min && val <= max; | ||
1627 | } | ||
1628 | |||
1624 | /** | 1629 | /** |
1625 | * lpfc_param_show - Return a cfg attribute value in decimal | 1630 | * lpfc_param_show - Return a cfg attribute value in decimal |
1626 | * | 1631 | * |
@@ -1698,7 +1703,7 @@ lpfc_##attr##_show(struct device *dev, struct device_attribute *attr, \ | |||
1698 | static int \ | 1703 | static int \ |
1699 | lpfc_##attr##_init(struct lpfc_hba *phba, uint val) \ | 1704 | lpfc_##attr##_init(struct lpfc_hba *phba, uint val) \ |
1700 | { \ | 1705 | { \ |
1701 | if (val >= minval && val <= maxval) {\ | 1706 | if (lpfc_rangecheck(val, minval, maxval)) {\ |
1702 | phba->cfg_##attr = val;\ | 1707 | phba->cfg_##attr = val;\ |
1703 | return 0;\ | 1708 | return 0;\ |
1704 | }\ | 1709 | }\ |
@@ -1733,7 +1738,7 @@ lpfc_##attr##_init(struct lpfc_hba *phba, uint val) \ | |||
1733 | static int \ | 1738 | static int \ |
1734 | lpfc_##attr##_set(struct lpfc_hba *phba, uint val) \ | 1739 | lpfc_##attr##_set(struct lpfc_hba *phba, uint val) \ |
1735 | { \ | 1740 | { \ |
1736 | if (val >= minval && val <= maxval) {\ | 1741 | if (lpfc_rangecheck(val, minval, maxval)) {\ |
1737 | lpfc_printf_log(phba, KERN_ERR, LOG_INIT, \ | 1742 | lpfc_printf_log(phba, KERN_ERR, LOG_INIT, \ |
1738 | "3052 lpfc_" #attr " changed from %d to %d\n", \ | 1743 | "3052 lpfc_" #attr " changed from %d to %d\n", \ |
1739 | phba->cfg_##attr, val); \ | 1744 | phba->cfg_##attr, val); \ |
@@ -1857,7 +1862,7 @@ lpfc_##attr##_show(struct device *dev, struct device_attribute *attr, \ | |||
1857 | static int \ | 1862 | static int \ |
1858 | lpfc_##attr##_init(struct lpfc_vport *vport, uint val) \ | 1863 | lpfc_##attr##_init(struct lpfc_vport *vport, uint val) \ |
1859 | { \ | 1864 | { \ |
1860 | if (val >= minval && val <= maxval) {\ | 1865 | if (lpfc_rangecheck(val, minval, maxval)) {\ |
1861 | vport->cfg_##attr = val;\ | 1866 | vport->cfg_##attr = val;\ |
1862 | return 0;\ | 1867 | return 0;\ |
1863 | }\ | 1868 | }\ |
@@ -1889,7 +1894,7 @@ lpfc_##attr##_init(struct lpfc_vport *vport, uint val) \ | |||
1889 | static int \ | 1894 | static int \ |
1890 | lpfc_##attr##_set(struct lpfc_vport *vport, uint val) \ | 1895 | lpfc_##attr##_set(struct lpfc_vport *vport, uint val) \ |
1891 | { \ | 1896 | { \ |
1892 | if (val >= minval && val <= maxval) {\ | 1897 | if (lpfc_rangecheck(val, minval, maxval)) {\ |
1893 | lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT, \ | 1898 | lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT, \ |
1894 | "3053 lpfc_" #attr \ | 1899 | "3053 lpfc_" #attr \ |
1895 | " changed from %d (x%x) to %d (x%x)\n", \ | 1900 | " changed from %d (x%x) to %d (x%x)\n", \ |