Hi Dan, On Tue, 2019-08-06 at 17:24 +0300, Dan Carpenter wrote: > Hello Haim Dreyfuss, > > The patch 0c3d7282233c: "iwlwifi: Add support for SAR South Korea > limitation" from Feb 27, 2019, leads to the following static checker > warning: > > drivers/net/wireless/intel/iwlwifi/fw/acpi.c:166 iwl_acpi_get_mcc() > warn: passing a valid pointer to 'PTR_ERR' > > drivers/net/wireless/intel/iwlwifi/fw/acpi.c > 153 int iwl_acpi_get_mcc(struct device *dev, char *mcc) > 154 { > 155 union acpi_object *wifi_pkg, *data; > 156 u32 mcc_val; > 157 int ret, tbl_rev; > 158 > 159 data = iwl_acpi_get_object(dev, ACPI_WRDD_METHOD); > 160 if (IS_ERR(data)) > 161 return PTR_ERR(data); > 162 > 163 wifi_pkg = iwl_acpi_get_wifi_pkg(dev, data, ACPI_WRDD_WIFI_DATA_SIZE, > 164 &tbl_rev); > 165 if (IS_ERR(wifi_pkg) || tbl_rev != 0) { > ^^^^^^^^^^^^ > wifi_pkg is not a valid error code. Also it feels like it might be more > future proof to blacklist rev 1 instead of whitelisting rev 0. Yeah, this code is wrong. If wifi_pkg is valid but tbl_rev is != 0, then we will return a valid pointer instead of an error. I'll fix this. But regarding blacklisting one, I think it's better as it is. We mean that the only revision we support is 0, if we get 1 or higher, we return -EINVAL, because we handle it. When we add support for other revisions, we need to change it. > 166 ret = PTR_ERR(wifi_pkg); > 167 goto out_free; > 168 } Thanks for reporting! (and yeah, I'll handle the other occurrences you mentioned too). -- Cheers, Luca.