BCC: [email protected]
CC: [email protected]
CC: [email protected]
TO: Zheyu Ma <[email protected]>
CC: Kalle Valo <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   568035b01cfb107af8d2e4bd2fb9aea22cf5b868
commit: 13876f2a087ad352bf640a7a0a4a4229ea6e9e4f wifi: rtl8xxxu: Fix the error 
handling of the probe function
date:   3 weeks ago
:::::: branch date: 2 days ago
:::::: commit date: 3 weeks ago
config: ia64-randconfig-m031-20220814 
(https://download.01.org/0day-ci/archive/20220816/[email protected]/config)
compiler: ia64-linux-gcc (GCC) 12.1.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

New smatch warnings:
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c:6771 rtl8xxxu_probe() 
warn: variable dereferenced before check 'priv' (see line 6665)

Old smatch warnings:
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c:5524 
rtl8xxxu_c2hcmd_callback() warn: potential spectre issue 
'rtl8xxxu_legacy_ratetable' [r] (local cap)

vim +/priv +6771 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c

26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6599  
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6600  static int rtl8xxxu_probe(struct usb_interface 
*interface,
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6601                           const struct 
usb_device_id *id)
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6602  {
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6603         struct rtl8xxxu_priv *priv;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6604         struct ieee80211_hw *hw;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6605         struct usb_device *udev;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6606         struct ieee80211_supported_band *sband;
deb6176e561324 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6607         int ret;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6608         int untested = 1;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6609  
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6610         udev = 
usb_get_dev(interface_to_usbdev(interface));
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6611  
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6612         switch (id->idVendor) {
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6613         case USB_VENDOR_ID_REALTEK:
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6614                 switch(id->idProduct) {
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6615                 case 0x1724:
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6616                 case 0x8176:
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6617                 case 0x8178:
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6618                 case 0x817f:
d607e396566a10 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2017-01-17  6619                 case 0x818b:
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6620                         untested = 0;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6621                         break;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6622                 }
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6623                 break;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6624         case 0x7392:
408f122a1f9230 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2019-11-12  6625                 if (id->idProduct == 0x7811 || 
id->idProduct == 0xa611)
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6626                         untested = 0;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6627                 break;
e1d70c9b04000e drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2016-04-14  6628         case 0x050d:
e1d70c9b04000e drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2016-04-14  6629                 if (id->idProduct == 0x1004)
e1d70c9b04000e drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2016-04-14  6630                         untested = 0;
e1d70c9b04000e drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2016-04-14  6631                 break;
b81669b9e0b486 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6632         case 0x20f4:
b81669b9e0b486 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6633                 if (id->idProduct == 0x648b)
b81669b9e0b486 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6634                         untested = 0;
b81669b9e0b486 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6635                 break;
76a8e07d49b652 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6636         case 0x2001:
76a8e07d49b652 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6637                 if (id->idProduct == 0x3308)
76a8e07d49b652 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6638                         untested = 0;
76a8e07d49b652 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6639                 break;
690a6d268bdf85 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6640         case 0x2357:
690a6d268bdf85 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6641                 if (id->idProduct == 0x0109)
690a6d268bdf85 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6642                         untested = 0;
690a6d268bdf85 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6643                 break;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6644         default:
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6645                 break;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6646         }
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6647  
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6648         if (untested) {
eaa4d14c97c199 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2016-02-29  6649                 rtl8xxxu_debug |= 
RTL8XXXU_DEBUG_EFUSE;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6650                 dev_info(&udev->dev,
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6651                          "This Realtek USB WiFi 
dongle (0x%04x:0x%04x) is untested!\n",
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6652                          id->idVendor, 
id->idProduct);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6653                 dev_info(&udev->dev,
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6654                          "Please report results 
to [email protected]\n");
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6655         }
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6656  
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6657         hw = ieee80211_alloc_hw(sizeof(struct 
rtl8xxxu_priv), &rtl8xxxu_ops);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6658         if (!hw) {
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6659                 ret = -ENOMEM;
deb6176e561324 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6660                 priv = NULL;
13876f2a087ad3 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Zheyu Ma   
       2022-07-16  6661                 goto err_put_dev;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6662         }
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6663  
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6664         priv = hw->priv;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14 @6665         priv->hw = hw;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6666         priv->udev = udev;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6667         priv->fops = (struct rtl8xxxu_fileops 
*)id->driver_info;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6668         mutex_init(&priv->usb_buf_mutex);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6669         mutex_init(&priv->h2c_mutex);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6670         INIT_LIST_HEAD(&priv->tx_urb_free_list);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6671         spin_lock_init(&priv->tx_urb_lock);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6672         
INIT_LIST_HEAD(&priv->rx_urb_pending_list);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6673         spin_lock_init(&priv->rx_urb_lock);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6674         INIT_WORK(&priv->rx_urb_wq, 
rtl8xxxu_rx_urb_work);
a9bb0b51577835 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Chris Chiu 
       2019-10-02  6675         INIT_DELAYED_WORK(&priv->ra_watchdog, 
rtl8xxxu_watchdog_callback);
e542e66b7c2ee2 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Chris Chiu 
       2019-10-05  6676         INIT_WORK(&priv->c2hcmd_work, 
rtl8xxxu_c2hcmd_callback);
e542e66b7c2ee2 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Chris Chiu 
       2019-10-05  6677         skb_queue_head_init(&priv->c2hcmd_queue);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6678  
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6679         usb_set_intfdata(interface, hw);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6680  
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6681         ret = rtl8xxxu_parse_usb(priv, 
interface);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6682         if (ret)
13876f2a087ad3 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Zheyu Ma   
       2022-07-16  6683                 goto err_set_intfdata;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6684  
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6685         ret = rtl8xxxu_identify_chip(priv);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6686         if (ret) {
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6687                 dev_err(&udev->dev, "Fatal - 
failed to identify chip\n");
13876f2a087ad3 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Zheyu Ma   
       2022-07-16  6688                 goto err_set_intfdata;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6689         }
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6690  
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6691         ret = rtl8xxxu_read_efuse(priv);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6692         if (ret) {
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6693                 dev_err(&udev->dev, "Fatal - 
failed to read EFuse\n");
13876f2a087ad3 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Zheyu Ma   
       2022-07-16  6694                 goto err_set_intfdata;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6695         }
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6696  
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6697         ret = priv->fops->parse_efuse(priv);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6698         if (ret) {
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6699                 dev_err(&udev->dev, "Fatal - 
failed to parse EFuse\n");
13876f2a087ad3 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Zheyu Ma   
       2022-07-16  6700                 goto err_set_intfdata;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6701         }
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6702  
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6703         rtl8xxxu_print_chipinfo(priv);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6704  
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6705         ret = priv->fops->load_firmware(priv);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6706         if (ret) {
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6707                 dev_err(&udev->dev, "Fatal - 
failed to load firmware\n");
13876f2a087ad3 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Zheyu Ma   
       2022-07-16  6708                 goto err_set_intfdata;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6709         }
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6710  
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6711         ret = rtl8xxxu_init_device(hw);
deb6176e561324 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6712         if (ret)
13876f2a087ad3 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Zheyu Ma   
       2022-07-16  6713                 goto err_set_intfdata;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6714  
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6715         hw->wiphy->max_scan_ssids = 1;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6716         hw->wiphy->max_scan_ie_len = 
IEEE80211_MAX_DATA_LEN;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6717         hw->wiphy->interface_modes = 
BIT(NL80211_IFTYPE_STATION);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6718         hw->queues = 4;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6719  
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6720         sband = &rtl8xxxu_supported_band;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6721         sband->ht_cap.ht_supported = true;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6722         sband->ht_cap.ampdu_factor = 
IEEE80211_HT_MAX_AMPDU_64K;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6723         sband->ht_cap.ampdu_density = 
IEEE80211_HT_MPDU_DENSITY_16;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6724         sband->ht_cap.cap = 
IEEE80211_HT_CAP_SGI_20 | IEEE80211_HT_CAP_SGI_40;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6725         memset(&sband->ht_cap.mcs, 0, 
sizeof(sband->ht_cap.mcs));
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6726         sband->ht_cap.mcs.rx_mask[0] = 0xff;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6727         sband->ht_cap.mcs.rx_mask[4] = 0x01;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6728         if (priv->rf_paths > 1) {
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6729                 sband->ht_cap.mcs.rx_mask[1] = 
0xff;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6730                 sband->ht_cap.cap |= 
IEEE80211_HT_CAP_SGI_40;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6731         }
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6732         sband->ht_cap.mcs.tx_params = 
IEEE80211_HT_MCS_TX_DEFINED;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6733         /*
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6734          * Some APs will negotiate HT20_40 in a 
noisy environment leading
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6735          * to miserable performance. Rather than 
defaulting to this, only
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6736          * enable it if explicitly requested at 
module load time.
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6737          */
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6738         if (rtl8xxxu_ht40_2g) {
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6739                 dev_info(&udev->dev, "Enabling 
HT_20_40 on the 2.4GHz band\n");
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6740                 sband->ht_cap.cap |= 
IEEE80211_HT_CAP_SUP_WIDTH_20_40;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6741         }
57fbcce37be7c1 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Johannes 
Berg     2016-04-12  6742         hw->wiphy->bands[NL80211_BAND_2GHZ] = sband;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6743  
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6744         hw->wiphy->rts_threshold = 2347;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6745  
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6746         SET_IEEE80211_DEV(priv->hw, 
&interface->dev);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6747         SET_IEEE80211_PERM_ADDR(hw, 
priv->mac_addr);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6748  
179e1742569620 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2016-02-29  6749         hw->extra_tx_headroom = 
priv->fops->tx_desc_size;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6750         ieee80211_hw_set(hw, SIGNAL_DBM);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6751         /*
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6752          * The firmware handles rate control
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6753          */
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6754         ieee80211_hw_set(hw, HAS_RATE_CONTROL);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6755         ieee80211_hw_set(hw, AMPDU_AGGREGATION);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6756  
ae44b502669d0c drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Andrew 
Zaborowski 2017-02-10  6757         wiphy_ext_feature_set(hw->wiphy, 
NL80211_EXT_FEATURE_CQM_RSSI_LIST);
ae44b502669d0c drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Andrew 
Zaborowski 2017-02-10  6758  
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6759         ret = ieee80211_register_hw(priv->hw);
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6760         if (ret) {
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6761                 dev_err(&udev->dev, "%s: Failed 
to register: %i\n",
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6762                         __func__, ret);
13876f2a087ad3 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Zheyu Ma   
       2022-07-16  6763                 goto err_set_intfdata;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6764         }
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6765  
deb6176e561324 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6766         return 0;
deb6176e561324 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6767  
13876f2a087ad3 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Zheyu Ma   
       2022-07-16  6768  err_set_intfdata:
deb6176e561324 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6769         usb_set_intfdata(interface, NULL);
deb6176e561324 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6770  
deb6176e561324 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19 @6771         if (priv) {
deb6176e561324 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6772                 kfree(priv->fw_data);
deb6176e561324 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6773                 
mutex_destroy(&priv->usb_buf_mutex);
deb6176e561324 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6774                 mutex_destroy(&priv->h2c_mutex);
deb6176e561324 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6775         }
deb6176e561324 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6776  
deb6176e561324 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6777         ieee80211_free_hw(hw);
13876f2a087ad3 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Zheyu Ma   
       2022-07-16  6778  err_put_dev:
13876f2a087ad3 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Zheyu Ma   
       2022-07-16  6779         usb_put_dev(udev);
deb6176e561324 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c Jes 
Sorensen      2016-08-19  6780  
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6781         return ret;
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6782  }
26f1fad29ad973 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c      Jes 
Sorensen      2015-10-14  6783  

:::::: The code at line 6771 was first introduced by commit
:::::: deb6176e561324884652dd6a49a862bd8b152959 rtl8xxxu: Fix error handling if 
rtl8xxxu_init_device() fails

:::::: TO: Jes Sorensen <[email protected]>
:::::: CC: Kalle Valo <[email protected]>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to