CC: [email protected]
CC: [email protected]
TO: Sean Wang <[email protected]>
CC: Felix Fietkau <[email protected]>
CC: Lorenzo Bianconi <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   88808fbbead481aedb46640a5ace69c58287f56a
commit: 48fab5bbef4092d925ab3214773ad12e68807223 mt76: mt7921: introduce 
mt7921s support
date:   4 months ago
:::::: branch date: 11 hours ago
:::::: commit date: 4 months ago
compiler: microblaze-linux-gcc (GCC) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

>> drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c:1460:36: warning: 
>> Boolean result is used in bitwise operation. Clarify expression with 
>> parentheses. [clarifyCondition]
    req->seq_num = mvif->scan_seq_num | ext_phy << 7;
                                      ^
   drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c:1581:36: warning: 
Boolean result is used in bitwise operation. Clarify expression with 
parentheses. [clarifyCondition]
    req->seq_num = mvif->scan_seq_num | ext_phy << 7;
                                      ^

vim +1460 drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c

d0e274af2f2e44 Lorenzo Bianconi 2021-01-26  1435  
399090ef96059d Lorenzo Bianconi 2021-01-26  1436  #define 
MT76_CONNAC_SCAN_CHANNEL_TIME         60
399090ef96059d Lorenzo Bianconi 2021-01-26  1437  int 
mt76_connac_mcu_hw_scan(struct mt76_phy *phy, struct ieee80211_vif *vif,
399090ef96059d Lorenzo Bianconi 2021-01-26  1438                            
struct ieee80211_scan_request *scan_req)
399090ef96059d Lorenzo Bianconi 2021-01-26  1439  {
399090ef96059d Lorenzo Bianconi 2021-01-26  1440        struct mt76_vif *mvif = 
(struct mt76_vif *)vif->drv_priv;
399090ef96059d Lorenzo Bianconi 2021-01-26  1441        struct 
cfg80211_scan_request *sreq = &scan_req->req;
9db419f0cb39a6 Sean Wang        2021-04-06  1442        int n_ssids = 0, err, 
i, duration;
399090ef96059d Lorenzo Bianconi 2021-01-26  1443        int ext_channels_num = 
max_t(int, sreq->n_channels - 32, 0);
399090ef96059d Lorenzo Bianconi 2021-01-26  1444        struct 
ieee80211_channel **scan_list = sreq->channels;
399090ef96059d Lorenzo Bianconi 2021-01-26  1445        struct mt76_dev *mdev = 
phy->dev;
399090ef96059d Lorenzo Bianconi 2021-01-26  1446        bool ext_phy = phy == 
mdev->phy2;
399090ef96059d Lorenzo Bianconi 2021-01-26  1447        struct 
mt76_connac_mcu_scan_channel *chan;
399090ef96059d Lorenzo Bianconi 2021-01-26  1448        struct 
mt76_connac_hw_scan_req *req;
399090ef96059d Lorenzo Bianconi 2021-01-26  1449        struct sk_buff *skb;
399090ef96059d Lorenzo Bianconi 2021-01-26  1450  
399090ef96059d Lorenzo Bianconi 2021-01-26  1451        skb = 
mt76_mcu_msg_alloc(mdev, NULL, sizeof(*req));
399090ef96059d Lorenzo Bianconi 2021-01-26  1452        if (!skb)
399090ef96059d Lorenzo Bianconi 2021-01-26  1453                return -ENOMEM;
399090ef96059d Lorenzo Bianconi 2021-01-26  1454  
399090ef96059d Lorenzo Bianconi 2021-01-26  1455        
set_bit(MT76_HW_SCANNING, &phy->state);
399090ef96059d Lorenzo Bianconi 2021-01-26  1456        mvif->scan_seq_num = 
(mvif->scan_seq_num + 1) & 0x7f;
399090ef96059d Lorenzo Bianconi 2021-01-26  1457  
399090ef96059d Lorenzo Bianconi 2021-01-26  1458        req = (struct 
mt76_connac_hw_scan_req *)skb_put(skb, sizeof(*req));
399090ef96059d Lorenzo Bianconi 2021-01-26  1459  
399090ef96059d Lorenzo Bianconi 2021-01-26 @1460        req->seq_num = 
mvif->scan_seq_num | ext_phy << 7;
399090ef96059d Lorenzo Bianconi 2021-01-26  1461        req->bss_idx = 
mvif->idx;
399090ef96059d Lorenzo Bianconi 2021-01-26  1462        req->scan_type = 
sreq->n_ssids ? 1 : 0;
399090ef96059d Lorenzo Bianconi 2021-01-26  1463        req->probe_req_num = 
sreq->n_ssids ? 2 : 0;
399090ef96059d Lorenzo Bianconi 2021-01-26  1464        req->version = 1;
399090ef96059d Lorenzo Bianconi 2021-01-26  1465  
399090ef96059d Lorenzo Bianconi 2021-01-26  1466        for (i = 0; i < 
sreq->n_ssids; i++) {
399090ef96059d Lorenzo Bianconi 2021-01-26  1467                if 
(!sreq->ssids[i].ssid_len)
399090ef96059d Lorenzo Bianconi 2021-01-26  1468                        
continue;
399090ef96059d Lorenzo Bianconi 2021-01-26  1469  
399090ef96059d Lorenzo Bianconi 2021-01-26  1470                
req->ssids[i].ssid_len = cpu_to_le32(sreq->ssids[i].ssid_len);
399090ef96059d Lorenzo Bianconi 2021-01-26  1471                
memcpy(req->ssids[i].ssid, sreq->ssids[i].ssid,
399090ef96059d Lorenzo Bianconi 2021-01-26  1472                       
sreq->ssids[i].ssid_len);
399090ef96059d Lorenzo Bianconi 2021-01-26  1473                n_ssids++;
399090ef96059d Lorenzo Bianconi 2021-01-26  1474        }
399090ef96059d Lorenzo Bianconi 2021-01-26  1475        req->ssid_type = 
n_ssids ? BIT(2) : BIT(0);
399090ef96059d Lorenzo Bianconi 2021-01-26  1476        req->ssid_type_ext = 
n_ssids ? BIT(0) : 0;
399090ef96059d Lorenzo Bianconi 2021-01-26  1477        req->ssids_num = 
n_ssids;
399090ef96059d Lorenzo Bianconi 2021-01-26  1478  
9db419f0cb39a6 Sean Wang        2021-04-06  1479        duration = 
is_mt7921(phy->dev) ? 0 : MT76_CONNAC_SCAN_CHANNEL_TIME;
399090ef96059d Lorenzo Bianconi 2021-01-26  1480        /* increase channel 
time for passive scan */
399090ef96059d Lorenzo Bianconi 2021-01-26  1481        if (!sreq->n_ssids)
399090ef96059d Lorenzo Bianconi 2021-01-26  1482                duration *= 2;
399090ef96059d Lorenzo Bianconi 2021-01-26  1483        req->timeout_value = 
cpu_to_le16(sreq->n_channels * duration);
399090ef96059d Lorenzo Bianconi 2021-01-26  1484        
req->channel_min_dwell_time = cpu_to_le16(duration);
399090ef96059d Lorenzo Bianconi 2021-01-26  1485        req->channel_dwell_time 
= cpu_to_le16(duration);
399090ef96059d Lorenzo Bianconi 2021-01-26  1486  
399090ef96059d Lorenzo Bianconi 2021-01-26  1487        req->channels_num = 
min_t(u8, sreq->n_channels, 32);
399090ef96059d Lorenzo Bianconi 2021-01-26  1488        req->ext_channels_num = 
min_t(u8, ext_channels_num, 32);
399090ef96059d Lorenzo Bianconi 2021-01-26  1489        for (i = 0; i < 
req->channels_num + req->ext_channels_num; i++) {
399090ef96059d Lorenzo Bianconi 2021-01-26  1490                if (i >= 32)
399090ef96059d Lorenzo Bianconi 2021-01-26  1491                        chan = 
&req->ext_channels[i - 32];
399090ef96059d Lorenzo Bianconi 2021-01-26  1492                else
399090ef96059d Lorenzo Bianconi 2021-01-26  1493                        chan = 
&req->channels[i];
399090ef96059d Lorenzo Bianconi 2021-01-26  1494  
212e5197eec24e Lorenzo Bianconi 2021-08-24  1495                switch 
(scan_list[i]->band) {
212e5197eec24e Lorenzo Bianconi 2021-08-24  1496                case 
NL80211_BAND_2GHZ:
212e5197eec24e Lorenzo Bianconi 2021-08-24  1497                        
chan->band = 1;
212e5197eec24e Lorenzo Bianconi 2021-08-24  1498                        break;
212e5197eec24e Lorenzo Bianconi 2021-08-24  1499                case 
NL80211_BAND_6GHZ:
212e5197eec24e Lorenzo Bianconi 2021-08-24  1500                        
chan->band = 3;
212e5197eec24e Lorenzo Bianconi 2021-08-24  1501                        break;
212e5197eec24e Lorenzo Bianconi 2021-08-24  1502                default:
212e5197eec24e Lorenzo Bianconi 2021-08-24  1503                        
chan->band = 2;
212e5197eec24e Lorenzo Bianconi 2021-08-24  1504                        break;
212e5197eec24e Lorenzo Bianconi 2021-08-24  1505                }
399090ef96059d Lorenzo Bianconi 2021-01-26  1506                
chan->channel_num = scan_list[i]->hw_value;
399090ef96059d Lorenzo Bianconi 2021-01-26  1507        }
399090ef96059d Lorenzo Bianconi 2021-01-26  1508        req->channel_type = 
sreq->n_channels ? 4 : 0;
399090ef96059d Lorenzo Bianconi 2021-01-26  1509  
399090ef96059d Lorenzo Bianconi 2021-01-26  1510        if (sreq->ie_len > 0) {
399090ef96059d Lorenzo Bianconi 2021-01-26  1511                
memcpy(req->ies, sreq->ie, sreq->ie_len);
399090ef96059d Lorenzo Bianconi 2021-01-26  1512                req->ies_len = 
cpu_to_le16(sreq->ie_len);
399090ef96059d Lorenzo Bianconi 2021-01-26  1513        }
399090ef96059d Lorenzo Bianconi 2021-01-26  1514  
4da64fe086d95d Sean Wang        2021-04-06  1515        if (is_mt7921(phy->dev))
4da64fe086d95d Sean Wang        2021-04-06  1516                req->scan_func 
|= SCAN_FUNC_SPLIT_SCAN;
4da64fe086d95d Sean Wang        2021-04-06  1517  
399090ef96059d Lorenzo Bianconi 2021-01-26  1518        memcpy(req->bssid, 
sreq->bssid, ETH_ALEN);
399090ef96059d Lorenzo Bianconi 2021-01-26  1519        if (sreq->flags & 
NL80211_SCAN_FLAG_RANDOM_ADDR) {
399090ef96059d Lorenzo Bianconi 2021-01-26  1520                
get_random_mask_addr(req->random_mac, sreq->mac_addr,
399090ef96059d Lorenzo Bianconi 2021-01-26  1521                                
     sreq->mac_addr_mask);
4da64fe086d95d Sean Wang        2021-04-06  1522                req->scan_func 
|= SCAN_FUNC_RANDOM_MAC;
399090ef96059d Lorenzo Bianconi 2021-01-26  1523        }
399090ef96059d Lorenzo Bianconi 2021-01-26  1524  
399090ef96059d Lorenzo Bianconi 2021-01-26  1525        err = 
mt76_mcu_skb_send_msg(mdev, skb, MCU_CMD_START_HW_SCAN, false);
399090ef96059d Lorenzo Bianconi 2021-01-26  1526        if (err < 0)
399090ef96059d Lorenzo Bianconi 2021-01-26  1527                
clear_bit(MT76_HW_SCANNING, &phy->state);
399090ef96059d Lorenzo Bianconi 2021-01-26  1528  
399090ef96059d Lorenzo Bianconi 2021-01-26  1529        return err;
399090ef96059d Lorenzo Bianconi 2021-01-26  1530  }
399090ef96059d Lorenzo Bianconi 2021-01-26  1531  
EXPORT_SYMBOL_GPL(mt76_connac_mcu_hw_scan);
399090ef96059d Lorenzo Bianconi 2021-01-26  1532  

:::::: The code at line 1460 was first introduced by commit
:::::: 399090ef96059da9cc6459e2d68347a27254bbf5 mt76: mt76_connac: move hw_scan 
and sched_scan routine in mt76_connac_mcu module

:::::: TO: Lorenzo Bianconi <[email protected]>
:::::: CC: Felix Fietkau <[email protected]>

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

Reply via email to