All of lore.kernel.org
 help / color / mirror / Atom feed
* [bug report] mt76: add mac80211 driver for MT7915 PCIe-based chipsets
@ 2020-05-20 12:08 ` Dan Carpenter
  0 siblings, 0 replies; 4+ messages in thread
From: Dan Carpenter @ 2020-05-20 12:08 UTC (permalink / raw)
  To: ryder.lee; +Cc: Ryder Lee, linux-wireless, linux-mediatek

Hello Ryder Lee,

The patch e57b7901469f: "mt76: add mac80211 driver for MT7915
PCIe-based chipsets" from Apr 25, 2020, leads to the following static
checker warning:

	drivers/net/wireless/mediatek/mt76/mt7915/mcu.c:1576 mt7915_mcu_add_smps()
	error: 'wtbl_hdr' dereferencing possible ERR_PTR()

drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
  1558  int mt7915_mcu_add_smps(struct mt7915_dev *dev, struct ieee80211_vif *vif,
  1559                          struct ieee80211_sta *sta)
  1560  {
  1561          struct mt7915_vif *mvif = (struct mt7915_vif *)vif->drv_priv;
  1562          struct mt7915_sta *msta = (struct mt7915_sta *)sta->drv_priv;
  1563          struct wtbl_req_hdr *wtbl_hdr;
  1564          struct tlv *sta_wtbl;
  1565          struct sk_buff *skb;
  1566  
  1567          skb = mt7915_mcu_alloc_sta_req(dev, mvif, msta,
  1568                                         MT7915_STA_UPDATE_MAX_SIZE);
  1569          if (IS_ERR(skb))
  1570                  return PTR_ERR(skb);
  1571  
  1572          sta_wtbl = mt7915_mcu_add_tlv(skb, STA_REC_WTBL, sizeof(struct tlv));
  1573  
  1574          wtbl_hdr = mt7915_mcu_alloc_wtbl_req(dev, msta, WTBL_SET, sta_wtbl,
                ^^^^^^^^
No error handling.

  1575                                               &skb);
  1576          mt7915_mcu_wtbl_smps_tlv(skb, sta, sta_wtbl, wtbl_hdr);
  1577  
  1578          return __mt76_mcu_skb_send_msg(&dev->mt76, skb,
  1579                                         MCU_EXT_CMD_STA_REC_UPDATE, true);
  1580  }

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [bug report] mt76: add mac80211 driver for MT7915 PCIe-based chipsets
@ 2020-05-20 12:08 ` Dan Carpenter
  0 siblings, 0 replies; 4+ messages in thread
From: Dan Carpenter @ 2020-05-20 12:08 UTC (permalink / raw)
  To: ryder.lee; +Cc: linux-mediatek, Ryder Lee, linux-wireless

Hello Ryder Lee,

The patch e57b7901469f: "mt76: add mac80211 driver for MT7915
PCIe-based chipsets" from Apr 25, 2020, leads to the following static
checker warning:

	drivers/net/wireless/mediatek/mt76/mt7915/mcu.c:1576 mt7915_mcu_add_smps()
	error: 'wtbl_hdr' dereferencing possible ERR_PTR()

drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
  1558  int mt7915_mcu_add_smps(struct mt7915_dev *dev, struct ieee80211_vif *vif,
  1559                          struct ieee80211_sta *sta)
  1560  {
  1561          struct mt7915_vif *mvif = (struct mt7915_vif *)vif->drv_priv;
  1562          struct mt7915_sta *msta = (struct mt7915_sta *)sta->drv_priv;
  1563          struct wtbl_req_hdr *wtbl_hdr;
  1564          struct tlv *sta_wtbl;
  1565          struct sk_buff *skb;
  1566  
  1567          skb = mt7915_mcu_alloc_sta_req(dev, mvif, msta,
  1568                                         MT7915_STA_UPDATE_MAX_SIZE);
  1569          if (IS_ERR(skb))
  1570                  return PTR_ERR(skb);
  1571  
  1572          sta_wtbl = mt7915_mcu_add_tlv(skb, STA_REC_WTBL, sizeof(struct tlv));
  1573  
  1574          wtbl_hdr = mt7915_mcu_alloc_wtbl_req(dev, msta, WTBL_SET, sta_wtbl,
                ^^^^^^^^
No error handling.

  1575                                               &skb);
  1576          mt7915_mcu_wtbl_smps_tlv(skb, sta, sta_wtbl, wtbl_hdr);
  1577  
  1578          return __mt76_mcu_skb_send_msg(&dev->mt76, skb,
  1579                                         MCU_EXT_CMD_STA_REC_UPDATE, true);
  1580  }

regards,
dan carpenter

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [bug report] mt76: add mac80211 driver for MT7915 PCIe-based chipsets
@ 2020-05-20 12:02 ` Dan Carpenter
  0 siblings, 0 replies; 4+ messages in thread
From: Dan Carpenter @ 2020-05-20 12:02 UTC (permalink / raw)
  To: ryder.lee; +Cc: Ryder Lee, linux-wireless, linux-mediatek

Hello Ryder Lee,

The patch e57b7901469f: "mt76: add mac80211 driver for MT7915
PCIe-based chipsets" from Apr 25, 2020, leads to the following static
checker warning:

	drivers/net/wireless/mediatek/mt76/mt7915/mac.c:1303 mt7915_mac_sta_stats_work()
	warn: test_bit() takes a bit number

drivers/net/wireless/mediatek/mt76/mt7915/mac.c
  1299  
  1300                  stats->jiffies = jiffies;
  1301          }
  1302  
  1303          if (test_and_clear_bit(IEEE80211_RC_SUPP_RATES_CHANGED |
  1304                                 IEEE80211_RC_NSS_CHANGED |
  1305                                 IEEE80211_RC_BW_CHANGED, &stats->changed))
                                       ^^^^^^^^^^^^^^^^^^^^^^^
These are like BIT(0), BIT(1) but the test_and_clear_bit() argument is
supposed to be 0, 1 etc...  It's a double left shift to say BIT(BIT(1)).


  1306                  mt7915_mcu_add_rate_ctrl(dev, vif, sta);
  1307  
  1308          if (test_and_clear_bit(IEEE80211_RC_SMPS_CHANGED, &stats->changed))
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
I'm not sure why these didn't generate a warning...  :/  Probably a
life lesson there that you should never rely on software to work as
expected.

  1309                  mt7915_mcu_add_smps(dev, vif, sta);
  1310  
  1311          spin_lock_bh(&dev->sta_poll_lock);
  1312          if (list_empty(&msta->poll_list))
  1313                  list_add_tail(&msta->poll_list, &dev->sta_poll_list);
  1314          spin_unlock_bh(&dev->sta_poll_lock);


regards,
dan carpenter

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [bug report] mt76: add mac80211 driver for MT7915 PCIe-based chipsets
@ 2020-05-20 12:02 ` Dan Carpenter
  0 siblings, 0 replies; 4+ messages in thread
From: Dan Carpenter @ 2020-05-20 12:02 UTC (permalink / raw)
  To: ryder.lee; +Cc: linux-mediatek, Ryder Lee, linux-wireless

Hello Ryder Lee,

The patch e57b7901469f: "mt76: add mac80211 driver for MT7915
PCIe-based chipsets" from Apr 25, 2020, leads to the following static
checker warning:

	drivers/net/wireless/mediatek/mt76/mt7915/mac.c:1303 mt7915_mac_sta_stats_work()
	warn: test_bit() takes a bit number

drivers/net/wireless/mediatek/mt76/mt7915/mac.c
  1299  
  1300                  stats->jiffies = jiffies;
  1301          }
  1302  
  1303          if (test_and_clear_bit(IEEE80211_RC_SUPP_RATES_CHANGED |
  1304                                 IEEE80211_RC_NSS_CHANGED |
  1305                                 IEEE80211_RC_BW_CHANGED, &stats->changed))
                                       ^^^^^^^^^^^^^^^^^^^^^^^
These are like BIT(0), BIT(1) but the test_and_clear_bit() argument is
supposed to be 0, 1 etc...  It's a double left shift to say BIT(BIT(1)).


  1306                  mt7915_mcu_add_rate_ctrl(dev, vif, sta);
  1307  
  1308          if (test_and_clear_bit(IEEE80211_RC_SMPS_CHANGED, &stats->changed))
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
I'm not sure why these didn't generate a warning...  :/  Probably a
life lesson there that you should never rely on software to work as
expected.

  1309                  mt7915_mcu_add_smps(dev, vif, sta);
  1310  
  1311          spin_lock_bh(&dev->sta_poll_lock);
  1312          if (list_empty(&msta->poll_list))
  1313                  list_add_tail(&msta->poll_list, &dev->sta_poll_list);
  1314          spin_unlock_bh(&dev->sta_poll_lock);


regards,
dan carpenter

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-05-20 12:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-20 12:08 [bug report] mt76: add mac80211 driver for MT7915 PCIe-based chipsets Dan Carpenter
2020-05-20 12:08 ` Dan Carpenter
  -- strict thread matches above, loose matches on Subject: below --
2020-05-20 12:02 Dan Carpenter
2020-05-20 12:02 ` Dan Carpenter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.