Search Linux Wireless

Re: [bug report] iwlwifi: Add support for SAR South Korea limitation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux