drivers/md/dm-zoned-metadata.c:1378 dmz_init_zone() warn: passing a valid pointer to 'PTR_ERR'
by kernel test robot
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Hannes Reinecke <hare(a)suse.de>
CC: Mike Snitzer <snitzer(a)redhat.com>
CC: Damien Le Moal <damien.lemoal(a)wdc.com>
CC: Colin Ian King <colin.king(a)canonical.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f6e1ea19649216156576aeafa784e3b4cee45549
commit: a92fbc446d1a93950b7e25bec6ad75dd26f01ba8 dm zoned: convert to xarray
date: 7 months ago
:::::: branch date: 28 hours ago
:::::: commit date: 7 months ago
config: i386-randconfig-m021-20201231 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
drivers/md/dm-zoned-metadata.c:1378 dmz_init_zone() warn: passing a valid pointer to 'PTR_ERR'
drivers/md/dm-zoned-metadata.c:1439 dmz_emulate_zones() warn: passing a valid pointer to 'PTR_ERR'
Old smatch warnings:
drivers/md/dm-zoned-metadata.c:833 dmz_write_sb() warn: should 'zmd->sb[set]->zone->id << zmd->zone_nr_blocks_shift' be a 64 bit type?
drivers/md/dm-zoned-metadata.c:2777 dmz_print_dev() warn: should 'dev->zone_offset << zmd->zone_nr_sectors_shift' be a 64 bit type?
vim +/PTR_ERR +1378 drivers/md/dm-zoned-metadata.c
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1365
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1366 /*
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1367 * Initialize a zone descriptor.
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1368 */
bd5c40313a1467e Hannes Reinecke 2020-05-11 1369 static int dmz_init_zone(struct blk_zone *blkz, unsigned int num, void *data)
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1370 {
d41003513e61dd9 Christoph Hellwig 2019-11-11 1371 struct dmz_metadata *zmd = data;
bd5c40313a1467e Hannes Reinecke 2020-05-11 1372 struct dmz_dev *dev = zmd->nr_devs > 1 ? &zmd->dev[1] : &zmd->dev[0];
bd5c40313a1467e Hannes Reinecke 2020-05-11 1373 int idx = num + dev->zone_offset;
a92fbc446d1a939 Hannes Reinecke 2020-06-02 1374 struct dm_zone *zone;
a92fbc446d1a939 Hannes Reinecke 2020-06-02 1375
a92fbc446d1a939 Hannes Reinecke 2020-06-02 1376 zone = dmz_insert(zmd, idx);
a92fbc446d1a939 Hannes Reinecke 2020-06-02 1377 if (IS_ERR(zone))
a92fbc446d1a939 Hannes Reinecke 2020-06-02 @1378 return PTR_ERR(zone);
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1379
368205601375bbf Hannes Reinecke 2020-05-11 1380 if (blkz->len != zmd->zone_nr_sectors) {
bd5c40313a1467e Hannes Reinecke 2020-05-11 1381 if (zmd->sb_version > 1) {
bd5c40313a1467e Hannes Reinecke 2020-05-11 1382 /* Ignore the eventual runt (smaller) zone */
bd5c40313a1467e Hannes Reinecke 2020-05-11 1383 set_bit(DMZ_OFFLINE, &zone->flags);
bd5c40313a1467e Hannes Reinecke 2020-05-11 1384 return 0;
bd5c40313a1467e Hannes Reinecke 2020-05-11 1385 } else if (blkz->start + blkz->len == dev->capacity)
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1386 return 0;
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1387 return -ENXIO;
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1388 }
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1389
d41003513e61dd9 Christoph Hellwig 2019-11-11 1390 switch (blkz->type) {
d41003513e61dd9 Christoph Hellwig 2019-11-11 1391 case BLK_ZONE_TYPE_CONVENTIONAL:
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1392 set_bit(DMZ_RND, &zone->flags);
d41003513e61dd9 Christoph Hellwig 2019-11-11 1393 break;
d41003513e61dd9 Christoph Hellwig 2019-11-11 1394 case BLK_ZONE_TYPE_SEQWRITE_REQ:
d41003513e61dd9 Christoph Hellwig 2019-11-11 1395 case BLK_ZONE_TYPE_SEQWRITE_PREF:
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1396 set_bit(DMZ_SEQ, &zone->flags);
d41003513e61dd9 Christoph Hellwig 2019-11-11 1397 break;
d41003513e61dd9 Christoph Hellwig 2019-11-11 1398 default:
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1399 return -ENXIO;
d41003513e61dd9 Christoph Hellwig 2019-11-11 1400 }
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1401
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1402 if (dmz_is_rnd(zone))
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1403 zone->wp_block = 0;
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1404 else
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1405 zone->wp_block = dmz_sect2blk(blkz->wp - blkz->start);
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1406
d41003513e61dd9 Christoph Hellwig 2019-11-11 1407 if (blkz->cond == BLK_ZONE_COND_OFFLINE)
d41003513e61dd9 Christoph Hellwig 2019-11-11 1408 set_bit(DMZ_OFFLINE, &zone->flags);
d41003513e61dd9 Christoph Hellwig 2019-11-11 1409 else if (blkz->cond == BLK_ZONE_COND_READONLY)
d41003513e61dd9 Christoph Hellwig 2019-11-11 1410 set_bit(DMZ_READ_ONLY, &zone->flags);
d41003513e61dd9 Christoph Hellwig 2019-11-11 1411 else {
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1412 zmd->nr_useable_zones++;
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1413 if (dmz_is_rnd(zone)) {
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1414 zmd->nr_rnd_zones++;
bd5c40313a1467e Hannes Reinecke 2020-05-11 1415 if (zmd->nr_devs == 1 && !zmd->sb[0].zone) {
bd5c40313a1467e Hannes Reinecke 2020-05-11 1416 /* Primary super block zone */
735bd7e4cd16270 Hannes Reinecke 2020-05-11 1417 zmd->sb[0].zone = zone;
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1418 }
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1419 }
bd5c40313a1467e Hannes Reinecke 2020-05-11 1420 if (zmd->nr_devs > 1 && !zmd->sb[2].zone) {
bd5c40313a1467e Hannes Reinecke 2020-05-11 1421 /* Tertiary superblock zone */
bd5c40313a1467e Hannes Reinecke 2020-05-11 1422 zmd->sb[2].zone = zone;
bd5c40313a1467e Hannes Reinecke 2020-05-11 1423 }
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1424 }
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1425
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1426 return 0;
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1427 }
3b1a94c88b798d4 Damien Le Moal 2017-06-07 1428
a92fbc446d1a939 Hannes Reinecke 2020-06-02 1429 static int dmz_emulate_zones(struct dmz_metadata *zmd, struct dmz_dev *dev)
bd5c40313a1467e Hannes Reinecke 2020-05-11 1430 {
bd5c40313a1467e Hannes Reinecke 2020-05-11 1431 int idx;
bd5c40313a1467e Hannes Reinecke 2020-05-11 1432 sector_t zone_offset = 0;
bd5c40313a1467e Hannes Reinecke 2020-05-11 1433
bd5c40313a1467e Hannes Reinecke 2020-05-11 1434 for(idx = 0; idx < dev->nr_zones; idx++) {
a92fbc446d1a939 Hannes Reinecke 2020-06-02 1435 struct dm_zone *zone;
bd5c40313a1467e Hannes Reinecke 2020-05-11 1436
a92fbc446d1a939 Hannes Reinecke 2020-06-02 1437 zone = dmz_insert(zmd, idx);
a92fbc446d1a939 Hannes Reinecke 2020-06-02 1438 if (IS_ERR(zone))
a92fbc446d1a939 Hannes Reinecke 2020-06-02 @1439 return PTR_ERR(zone);
34f5affd04c4a16 Hannes Reinecke 2020-05-19 1440 set_bit(DMZ_CACHE, &zone->flags);
bd5c40313a1467e Hannes Reinecke 2020-05-11 1441 zone->wp_block = 0;
34f5affd04c4a16 Hannes Reinecke 2020-05-19 1442 zmd->nr_cache_zones++;
bd5c40313a1467e Hannes Reinecke 2020-05-11 1443 zmd->nr_useable_zones++;
bd5c40313a1467e Hannes Reinecke 2020-05-11 1444 if (dev->capacity - zone_offset < zmd->zone_nr_sectors) {
bd5c40313a1467e Hannes Reinecke 2020-05-11 1445 /* Disable runt zone */
bd5c40313a1467e Hannes Reinecke 2020-05-11 1446 set_bit(DMZ_OFFLINE, &zone->flags);
bd5c40313a1467e Hannes Reinecke 2020-05-11 1447 break;
bd5c40313a1467e Hannes Reinecke 2020-05-11 1448 }
bd5c40313a1467e Hannes Reinecke 2020-05-11 1449 zone_offset += zmd->zone_nr_sectors;
bd5c40313a1467e Hannes Reinecke 2020-05-11 1450 }
a92fbc446d1a939 Hannes Reinecke 2020-06-02 1451 return 0;
bd5c40313a1467e Hannes Reinecke 2020-05-11 1452 }
bd5c40313a1467e Hannes Reinecke 2020-05-11 1453
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
drivers/net/wireless/mediatek/mt76/mt7615/mac.c:1510 mt7615_mac_adjust_sensitivity() warn: assigning (-98) to unsigned variable 'def_th'
by kernel test robot
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Lorenzo Bianconi <lorenzo(a)kernel.org>
CC: Felix Fietkau <nbd(a)nbd.name>
CC: Sean Wang <sean.wang(a)mediatek.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f6e1ea19649216156576aeafa784e3b4cee45549
commit: eb99cc95c3b6513b495c4839ac4917206705f657 mt76: mt7615: introduce mt7663u support
date: 8 months ago
:::::: branch date: 25 hours ago
:::::: commit date: 8 months ago
config: i386-randconfig-m021-20201231 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
drivers/net/wireless/mediatek/mt76/mt7615/mac.c:1510 mt7615_mac_adjust_sensitivity() warn: assigning (-98) to unsigned variable 'def_th'
Old smatch warnings:
drivers/net/wireless/mediatek/mt76/mt7615/mac.c:1510 mt7615_mac_adjust_sensitivity() warn: assigning (-110) to unsigned variable 'def_th'
vim +/def_th +1510 drivers/net/wireless/mediatek/mt76/mt7615/mac.c
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1502
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1503 static void
d446a20f5b0ca04 Felix Fietkau 2019-10-26 1504 mt7615_mac_adjust_sensitivity(struct mt7615_phy *phy,
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1505 u32 rts_err_rate, bool ofdm)
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1506 {
d446a20f5b0ca04 Felix Fietkau 2019-10-26 1507 struct mt7615_dev *dev = phy->dev;
d446a20f5b0ca04 Felix Fietkau 2019-10-26 1508 int false_cca = ofdm ? phy->false_cca_ofdm : phy->false_cca_cck;
d446a20f5b0ca04 Felix Fietkau 2019-10-26 1509 bool ext_phy = phy != &dev->phy;
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 @1510 u16 def_th = ofdm ? -98 : -110;
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1511 bool update = false;
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1512 s8 *sensitivity;
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1513 int signal;
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1514
d446a20f5b0ca04 Felix Fietkau 2019-10-26 1515 sensitivity = ofdm ? &phy->ofdm_sensitivity : &phy->cck_sensitivity;
d446a20f5b0ca04 Felix Fietkau 2019-10-26 1516 signal = mt76_get_min_avg_rssi(&dev->mt76, ext_phy);
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1517 if (!signal) {
d446a20f5b0ca04 Felix Fietkau 2019-10-26 1518 mt7615_mac_set_default_sensitivity(phy);
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1519 return;
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1520 }
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1521
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1522 signal = min(signal, -72);
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1523 if (false_cca > 500) {
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1524 if (rts_err_rate > MT_FRAC(40, 100))
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1525 return;
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1526
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1527 /* decrease coverage */
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1528 if (*sensitivity == def_th && signal > -90) {
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1529 *sensitivity = -90;
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1530 update = true;
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1531 } else if (*sensitivity + 2 < signal) {
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1532 *sensitivity += 2;
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1533 update = true;
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1534 }
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1535 } else if ((false_cca > 0 && false_cca < 50) ||
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1536 rts_err_rate > MT_FRAC(60, 100)) {
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1537 /* increase coverage */
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1538 if (*sensitivity - 2 >= def_th) {
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1539 *sensitivity -= 2;
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1540 update = true;
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1541 }
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1542 }
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1543
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1544 if (*sensitivity > signal) {
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1545 *sensitivity = signal;
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1546 update = true;
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1547 }
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1548
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1549 if (update) {
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1550 u16 val;
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1551
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1552 if (ofdm) {
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1553 val = *sensitivity * 2 + 512;
2cad515ece8ad4e Ryder Lee 2019-12-24 1554 mt76_rmw(dev, MT_WF_PHY_MIN_PRI_PWR(ext_phy),
2cad515ece8ad4e Ryder Lee 2019-12-24 1555 MT_WF_PHY_PD_OFDM_MASK(ext_phy),
2cad515ece8ad4e Ryder Lee 2019-12-24 1556 MT_WF_PHY_PD_OFDM(ext_phy, val));
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1557 } else {
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1558 val = *sensitivity + 256;
2cad515ece8ad4e Ryder Lee 2019-12-24 1559 mt76_rmw(dev, MT_WF_PHY_RXTD_CCK_PD(ext_phy),
2cad515ece8ad4e Ryder Lee 2019-12-24 1560 MT_WF_PHY_PD_CCK_MASK(ext_phy),
2cad515ece8ad4e Ryder Lee 2019-12-24 1561 MT_WF_PHY_PD_CCK(ext_phy, val));
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1562 }
d446a20f5b0ca04 Felix Fietkau 2019-10-26 1563 phy->last_cca_adj = jiffies;
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1564 }
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1565 }
49de79ad9a748c8 Lorenzo Bianconi 2019-07-28 1566
:::::: The code at line 1510 was first introduced by commit
:::::: 49de79ad9a748c86277f39613ade72dc56421454 mt76: mt7615: add Smart Carrier Sense support
:::::: TO: Lorenzo Bianconi <lorenzo(a)kernel.org>
:::::: CC: Felix Fietkau <nbd(a)nbd.name>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c:5467 rtl8xxxu_c2hcmd_callback() warn: potential spectre issue 'rtl8xxxu_legacy_ratetable' (local cap)
by kernel test robot
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Chris Chiu <chiu(a)endlessm.com>
CC: Kalle Valo <kvalo(a)codeaurora.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f6e1ea19649216156576aeafa784e3b4cee45549
commit: 0985d3a410ace005ce62666b67c9372dfc14bd7f rtl8xxxu: Feed current txrate information for mac80211
date: 9 months ago
:::::: branch date: 22 hours ago
:::::: commit date: 9 months ago
config: i386-randconfig-m021-20201231 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c:5467 rtl8xxxu_c2hcmd_callback() warn: potential spectre issue 'rtl8xxxu_legacy_ratetable' [r] (local cap)
vim +/rtl8xxxu_legacy_ratetable +5467 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
0985d3a410ace00 Chris Chiu 2020-03-20 5420
e542e66b7c2ee2a Chris Chiu 2019-10-05 5421 static void rtl8xxxu_c2hcmd_callback(struct work_struct *work)
e542e66b7c2ee2a Chris Chiu 2019-10-05 5422 {
e542e66b7c2ee2a Chris Chiu 2019-10-05 5423 struct rtl8xxxu_priv *priv;
e542e66b7c2ee2a Chris Chiu 2019-10-05 5424 struct rtl8723bu_c2h *c2h;
e542e66b7c2ee2a Chris Chiu 2019-10-05 5425 struct sk_buff *skb = NULL;
e542e66b7c2ee2a Chris Chiu 2019-10-05 5426 unsigned long flags;
e542e66b7c2ee2a Chris Chiu 2019-10-05 5427 u8 bt_info = 0;
e542e66b7c2ee2a Chris Chiu 2019-10-05 5428 struct rtl8xxxu_btcoex *btcoex;
0985d3a410ace00 Chris Chiu 2020-03-20 5429 struct rtl8xxxu_ra_report *rarpt;
0985d3a410ace00 Chris Chiu 2020-03-20 5430 u8 rate, sgi, bw;
0985d3a410ace00 Chris Chiu 2020-03-20 5431 u32 bit_rate;
0985d3a410ace00 Chris Chiu 2020-03-20 5432 u8 mcs = 0, nss = 0;
e542e66b7c2ee2a Chris Chiu 2019-10-05 5433
e542e66b7c2ee2a Chris Chiu 2019-10-05 5434 priv = container_of(work, struct rtl8xxxu_priv, c2hcmd_work);
e542e66b7c2ee2a Chris Chiu 2019-10-05 5435 btcoex = &priv->bt_coex;
0985d3a410ace00 Chris Chiu 2020-03-20 5436 rarpt = &priv->ra_report;
e542e66b7c2ee2a Chris Chiu 2019-10-05 5437
e542e66b7c2ee2a Chris Chiu 2019-10-05 5438 if (priv->rf_paths > 1)
e542e66b7c2ee2a Chris Chiu 2019-10-05 5439 goto out;
e542e66b7c2ee2a Chris Chiu 2019-10-05 5440
e542e66b7c2ee2a Chris Chiu 2019-10-05 5441 while (!skb_queue_empty(&priv->c2hcmd_queue)) {
e542e66b7c2ee2a Chris Chiu 2019-10-05 5442 spin_lock_irqsave(&priv->c2hcmd_lock, flags);
e542e66b7c2ee2a Chris Chiu 2019-10-05 5443 skb = __skb_dequeue(&priv->c2hcmd_queue);
e542e66b7c2ee2a Chris Chiu 2019-10-05 5444 spin_unlock_irqrestore(&priv->c2hcmd_lock, flags);
e542e66b7c2ee2a Chris Chiu 2019-10-05 5445
e542e66b7c2ee2a Chris Chiu 2019-10-05 5446 c2h = (struct rtl8723bu_c2h *)skb->data;
e542e66b7c2ee2a Chris Chiu 2019-10-05 5447
e542e66b7c2ee2a Chris Chiu 2019-10-05 5448 switch (c2h->id) {
e542e66b7c2ee2a Chris Chiu 2019-10-05 5449 case C2H_8723B_BT_INFO:
e542e66b7c2ee2a Chris Chiu 2019-10-05 5450 bt_info = c2h->bt_info.bt_info;
e542e66b7c2ee2a Chris Chiu 2019-10-05 5451
e542e66b7c2ee2a Chris Chiu 2019-10-05 5452 rtl8723bu_update_bt_link_info(priv, bt_info);
e542e66b7c2ee2a Chris Chiu 2019-10-05 5453 if (btcoex->c2h_bt_inquiry) {
e542e66b7c2ee2a Chris Chiu 2019-10-05 5454 rtl8723bu_handle_bt_inquiry(priv);
e542e66b7c2ee2a Chris Chiu 2019-10-05 5455 break;
e542e66b7c2ee2a Chris Chiu 2019-10-05 5456 }
e542e66b7c2ee2a Chris Chiu 2019-10-05 5457 rtl8723bu_handle_bt_info(priv);
e542e66b7c2ee2a Chris Chiu 2019-10-05 5458 break;
0985d3a410ace00 Chris Chiu 2020-03-20 5459 case C2H_8723B_RA_REPORT:
0985d3a410ace00 Chris Chiu 2020-03-20 5460 rarpt->txrate.flags = 0;
0985d3a410ace00 Chris Chiu 2020-03-20 5461 rate = c2h->ra_report.rate;
0985d3a410ace00 Chris Chiu 2020-03-20 5462 sgi = c2h->ra_report.sgi;
0985d3a410ace00 Chris Chiu 2020-03-20 5463 bw = c2h->ra_report.bw;
0985d3a410ace00 Chris Chiu 2020-03-20 5464
0985d3a410ace00 Chris Chiu 2020-03-20 5465 if (rate < DESC_RATE_MCS0) {
0985d3a410ace00 Chris Chiu 2020-03-20 5466 rarpt->txrate.legacy =
0985d3a410ace00 Chris Chiu 2020-03-20 @5467 rtl8xxxu_legacy_ratetable[rate].bitrate;
0985d3a410ace00 Chris Chiu 2020-03-20 5468 } else {
0985d3a410ace00 Chris Chiu 2020-03-20 5469 rtl8xxxu_desc_to_mcsrate(rate, &mcs, &nss);
0985d3a410ace00 Chris Chiu 2020-03-20 5470 rarpt->txrate.flags |= RATE_INFO_FLAGS_MCS;
0985d3a410ace00 Chris Chiu 2020-03-20 5471
0985d3a410ace00 Chris Chiu 2020-03-20 5472 rarpt->txrate.mcs = mcs;
0985d3a410ace00 Chris Chiu 2020-03-20 5473 rarpt->txrate.nss = nss;
0985d3a410ace00 Chris Chiu 2020-03-20 5474
0985d3a410ace00 Chris Chiu 2020-03-20 5475 if (sgi) {
0985d3a410ace00 Chris Chiu 2020-03-20 5476 rarpt->txrate.flags |=
0985d3a410ace00 Chris Chiu 2020-03-20 5477 RATE_INFO_FLAGS_SHORT_GI;
0985d3a410ace00 Chris Chiu 2020-03-20 5478 }
0985d3a410ace00 Chris Chiu 2020-03-20 5479
0985d3a410ace00 Chris Chiu 2020-03-20 5480 if (bw == RATE_INFO_BW_20)
0985d3a410ace00 Chris Chiu 2020-03-20 5481 rarpt->txrate.bw |= RATE_INFO_BW_20;
0985d3a410ace00 Chris Chiu 2020-03-20 5482 }
0985d3a410ace00 Chris Chiu 2020-03-20 5483 bit_rate = cfg80211_calculate_bitrate(&rarpt->txrate);
0985d3a410ace00 Chris Chiu 2020-03-20 5484 rarpt->bit_rate = bit_rate;
0985d3a410ace00 Chris Chiu 2020-03-20 5485 rarpt->desc_rate = rate;
0985d3a410ace00 Chris Chiu 2020-03-20 5486 break;
e542e66b7c2ee2a Chris Chiu 2019-10-05 5487 default:
e542e66b7c2ee2a Chris Chiu 2019-10-05 5488 break;
e542e66b7c2ee2a Chris Chiu 2019-10-05 5489 }
e542e66b7c2ee2a Chris Chiu 2019-10-05 5490 }
e542e66b7c2ee2a Chris Chiu 2019-10-05 5491
e542e66b7c2ee2a Chris Chiu 2019-10-05 5492 out:
e542e66b7c2ee2a Chris Chiu 2019-10-05 5493 dev_kfree_skb(skb);
e542e66b7c2ee2a Chris Chiu 2019-10-05 5494 }
e542e66b7c2ee2a Chris Chiu 2019-10-05 5495
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[rcu:dev.2020.12.30a 102/149] kernel/rcu/rcuscale.c:733:11-12: WARNING kmalloc is used to allocate this memory at line 720
by kernel test robot
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: "Paul E. McKenney" <paulmck(a)kernel.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2020.12.30a
head: 295c99e6b1466988ac66cd710411f11c610b0294
commit: 652c5670bf645e948809fdd95c69110c44e6b9fe [102/149] EXP rcuscale: Add crude tests for mem_dump_obj()
:::::: branch date: 15 hours ago
:::::: commit date: 10 days ago
config: x86_64-randconfig-c002-20201229 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Julia Lawall <julia.lawall(a)lip6.fr>
"coccinelle warnings: (new ones prefixed by >>)"
>> kernel/rcu/rcuscale.c:733:11-12: WARNING kmalloc is used to allocate this memory at line 720
vim +733 kernel/rcu/rcuscale.c
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 638)
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 639) static int
4e88ec4a9eb1752 kernel/rcu/rcuscale.c Paul E. McKenney 2020-08-11 640 kfree_scale_thread(void *arg)
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 641) {
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 642) int i, loop = 0;
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 643) long me = (long)arg;
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 644) struct kfree_obj *alloc_ptr;
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 645) u64 start_time, end_time;
12af660321263d7 kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-12-19 646) long long mem_begin, mem_during = 0;
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 647)
4e88ec4a9eb1752 kernel/rcu/rcuscale.c Paul E. McKenney 2020-08-11 648 VERBOSE_SCALEOUT_STRING("kfree_scale_thread task started");
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 649) set_cpus_allowed_ptr(current, cpumask_of(me % nr_cpu_ids));
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 650) set_user_nice(current, MAX_NICE);
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 651)
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 652) start_time = ktime_get_mono_fast_ns();
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 653)
4e88ec4a9eb1752 kernel/rcu/rcuscale.c Paul E. McKenney 2020-08-11 654 if (atomic_inc_return(&n_kfree_scale_thread_started) >= kfree_nrealthreads) {
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 655) if (gp_exp)
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 656) b_rcu_gp_test_started = cur_ops->exp_completed() / 2;
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 657) else
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 658) b_rcu_gp_test_started = cur_ops->get_gp_seq();
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 659) }
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 660)
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 661) do {
12af660321263d7 kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-12-19 662) if (!mem_during) {
12af660321263d7 kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-12-19 663) mem_during = mem_begin = si_mem_available();
12af660321263d7 kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-12-19 664) } else if (loop % (kfree_loops / 4) == 0) {
12af660321263d7 kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-12-19 665) mem_during = (mem_during + si_mem_available()) / 2;
12af660321263d7 kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-12-19 666) }
12af660321263d7 kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-12-19 667)
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 668) for (i = 0; i < kfree_alloc_num; i++) {
f87dc808009ac86 kernel/rcu/rcuperf.c Joel Fernandes (Google 2020-03-16 669) alloc_ptr = kmalloc(kfree_mult * sizeof(struct kfree_obj), GFP_KERNEL);
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 670) if (!alloc_ptr)
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 671) return -ENOMEM;
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 672)
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 673) kfree_rcu(alloc_ptr, rh);
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 674) }
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 675)
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 676) cond_resched();
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 677) } while (!torture_must_stop() && ++loop < kfree_loops);
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 678)
4e88ec4a9eb1752 kernel/rcu/rcuscale.c Paul E. McKenney 2020-08-11 679 if (atomic_inc_return(&n_kfree_scale_thread_ended) >= kfree_nrealthreads) {
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 680) end_time = ktime_get_mono_fast_ns();
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 681)
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 682) if (gp_exp)
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 683) b_rcu_gp_test_finished = cur_ops->exp_completed() / 2;
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 684) else
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 685) b_rcu_gp_test_finished = cur_ops->get_gp_seq();
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 686)
12af660321263d7 kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-12-19 687) pr_alert("Total time taken by all kfree'ers: %llu ns, loops: %d, batches: %ld, memory footprint: %lldMB\n",
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 688) (unsigned long long)(end_time - start_time), kfree_loops,
4e88ec4a9eb1752 kernel/rcu/rcuscale.c Paul E. McKenney 2020-08-11 689 rcuscale_seq_diff(b_rcu_gp_test_finished, b_rcu_gp_test_started),
12af660321263d7 kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-12-19 690) (mem_begin - mem_during) >> (20 - PAGE_SHIFT));
12af660321263d7 kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-12-19 691)
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 692) if (shutdown) {
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 693) smp_mb(); /* Assign before wake. */
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 694) wake_up(&shutdown_wq);
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 695) }
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 696) }
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 697)
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 698 {
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 699 struct rcu_head *rhp;
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 700 struct kmem_cache *kcp;
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 701 static int z;
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 702
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 703 kcp = kmem_cache_create("rcuscale", 136, 8, SLAB_STORE_USER, NULL);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 704 rhp = kmem_cache_alloc(kcp, GFP_KERNEL);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 705 pr_alert("mem_dump_obj() slab test: kfree_scale_thread = %px, &rhp = %px, rhp = %px, &z = %px\n", kfree_scale_thread, &rhp, rhp, &z);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 706 pr_alert("mem_dump_obj(ZERO_SIZE_PTR):");
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 707 mem_dump_obj(ZERO_SIZE_PTR);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 708 pr_alert("mem_dump_obj(NULL):");
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 709 mem_dump_obj(NULL);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 710 pr_alert("mem_dump_obj(%px):", &rhp);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 711 mem_dump_obj(&rhp);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 712 pr_alert("mem_dump_obj(%px):", rhp);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 713 mem_dump_obj(rhp);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 714 pr_alert("mem_dump_obj(%px):", &rhp->func);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 715 mem_dump_obj(&rhp->func);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 716 pr_alert("mem_dump_obj(%px):", &z);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 717 mem_dump_obj(&z);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 718 kmem_cache_free(kcp, rhp);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 719 kmem_cache_destroy(kcp);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 @720 rhp = kmalloc(sizeof(*rhp), GFP_KERNEL);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 721 pr_alert("mem_dump_obj() kmalloc test: kfree_scale_thread = %px, &rhp = %px, rhp = %px\n", kfree_scale_thread, &rhp, rhp);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 722 pr_alert("mem_dump_obj(kmalloc %px):", rhp);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 723 mem_dump_obj(rhp);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 724 pr_alert("mem_dump_obj(kmalloc %px):", &rhp->func);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 725 mem_dump_obj(&rhp->func);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 726 kfree(rhp);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 727 rhp = vmalloc(4096);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 728 pr_alert("mem_dump_obj() vmalloc test: kfree_scale_thread = %px, &rhp = %px, rhp = %px\n", kfree_scale_thread, &rhp, rhp);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 729 pr_alert("mem_dump_obj(vmalloc %px):", rhp);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 730 mem_dump_obj(rhp);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 731 pr_alert("mem_dump_obj(vmalloc %px):", &rhp->func);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 732 mem_dump_obj(&rhp->func);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 @733 vfree(rhp);
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 734 }
652c5670bf645e9 kernel/rcu/rcuscale.c Paul E. McKenney 2020-12-07 735
4e88ec4a9eb1752 kernel/rcu/rcuscale.c Paul E. McKenney 2020-08-11 736 torture_kthread_stopping("kfree_scale_thread");
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 737) return 0;
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 738) }
e6e78b004fa7e0a kernel/rcu/rcuperf.c Joel Fernandes (Google 2019-08-30 739)
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[drm-intel:topic/dp-hdmi-2.1-pcon 9/15] drivers/gpu/drm/i915/display/intel_dp.c:4053:10: warning: Suspicious condition (assignment + comparison); Clarify expression with parentheses.
by kernel test robot
CC: kbuild-all(a)lists.01.org
CC: intel-gfx(a)lists.freedesktop.org
CC: dri-devel(a)lists.freedesktop.org
TO: Ankit Nautiyal <ankit.k.nautiyal(a)intel.com>
CC: Jani Nikula <jani.nikula(a)intel.com>
CC: Uma Shankar <uma.shankar(a)intel.com>
tree: git://anongit.freedesktop.org/drm-intel topic/dp-hdmi-2.1-pcon
head: 522508b665df3bbfdf40381d4e61777844b1703f
commit: ced42f2df5fd8621c896faeafe7ecc0ea8b2ea81 [9/15] drm/i915: Add support for starting FRL training for HDMI2.1 via PCON
:::::: branch date: 9 days ago
:::::: commit date: 9 days ago
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
cppcheck possible warnings: (new ones prefixed by >>, may not real problems)
>> drivers/gpu/drm/i915/display/intel_dp.c:4053:10: warning: Suspicious condition (assignment + comparison); Clarify expression with parentheses. [clarifyCondition]
wait_for(is_active = drm_dp_pcon_is_frl_ready(&intel_dp->aux) == true, TIMEOUT_FRL_READY_MS);
^
drivers/gpu/drm/i915/display/intel_dp.c:4072:10: warning: Suspicious condition (assignment + comparison); Clarify expression with parentheses. [clarifyCondition]
wait_for(is_active = drm_dp_pcon_hdmi_link_active(&intel_dp->aux) == true, TIMEOUT_HDMI_LINK_ACTIVE_MS);
^
vim +4053 drivers/gpu/drm/i915/display/intel_dp.c
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4028
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4029 struct drm_i915_private *i915 = dp_to_i915(intel_dp);
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4030 int max_frl_bw, max_pcon_frl_bw, max_edid_frl_bw, ret;
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4031 u8 max_frl_bw_mask = 0, frl_trained_mask;
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4032 bool is_active;
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4033
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4034 ret = drm_dp_pcon_reset_frl_config(&intel_dp->aux);
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4035 if (ret < 0)
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4036 return ret;
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4037
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4038 max_pcon_frl_bw = intel_dp->dfp.pcon_max_frl_bw;
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4039 drm_dbg(&i915->drm, "PCON max rate = %d Gbps\n", max_pcon_frl_bw);
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4040
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4041 max_edid_frl_bw = intel_dp_hdmi_sink_max_frl(intel_dp);
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4042 drm_dbg(&i915->drm, "Sink max rate from EDID = %d Gbps\n", max_edid_frl_bw);
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4043
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4044 max_frl_bw = min(max_edid_frl_bw, max_pcon_frl_bw);
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4045
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4046 if (max_frl_bw <= 0)
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4047 return -EINVAL;
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4048
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4049 ret = drm_dp_pcon_frl_prepare(&intel_dp->aux, false);
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4050 if (ret < 0)
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4051 return ret;
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4052 /* Wait for PCON to be FRL Ready */
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 @4053 wait_for(is_active = drm_dp_pcon_is_frl_ready(&intel_dp->aux) == true, TIMEOUT_FRL_READY_MS);
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4054
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4055 if (!is_active)
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4056 return -ETIMEDOUT;
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4057
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4058 max_frl_bw_mask = intel_dp_pcon_set_frl_mask(max_frl_bw);
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4059 ret = drm_dp_pcon_frl_configure_1(&intel_dp->aux, max_frl_bw, PCON_SEQUENTIAL_MODE);
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4060 if (ret < 0)
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4061 return ret;
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4062 ret = drm_dp_pcon_frl_configure_2(&intel_dp->aux, max_frl_bw_mask, PCON_NORMAL_TRAIN_MODE);
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4063 if (ret < 0)
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4064 return ret;
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4065 ret = drm_dp_pcon_frl_enable(&intel_dp->aux);
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4066 if (ret < 0)
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4067 return ret;
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4068 /*
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4069 * Wait for FRL to be completed
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4070 * Check if the HDMI Link is up and active.
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4071 */
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4072 wait_for(is_active = drm_dp_pcon_hdmi_link_active(&intel_dp->aux) == true, TIMEOUT_HDMI_LINK_ACTIVE_MS);
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4073
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4074 if (!is_active)
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4075 return -ETIMEDOUT;
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4076
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4077 /* Verify HDMI Link configuration shows FRL Mode */
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4078 if (drm_dp_pcon_hdmi_link_mode(&intel_dp->aux, &frl_trained_mask) !=
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4079 DP_PCON_HDMI_MODE_FRL) {
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4080 drm_dbg(&i915->drm, "HDMI couldn't be trained in FRL Mode\n");
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4081 return -EINVAL;
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4082 }
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4083 drm_dbg(&i915->drm, "MAX_FRL_MASK = %u, FRL_TRAINED_MASK = %u\n", max_frl_bw_mask, frl_trained_mask);
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4084
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4085 intel_dp->frl.trained_rate_gbps = intel_dp_pcon_get_frl_mask(frl_trained_mask);
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4086 intel_dp->frl.is_trained = true;
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4087 drm_dbg(&i915->drm, "FRL trained with : %d Gbps\n", intel_dp->frl.trained_rate_gbps);
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4088
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4089 return 0;
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4090 }
ced42f2df5fd8621 Ankit Nautiyal 2020-12-18 4091
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
drivers/staging/wimax/i2400m/usb-tx.c:205 i2400mu_txd() error: uninitialized symbol 'tx_msg_size'.
by kernel test robot
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Arnd Bergmann <arnd(a)arndb.de>
Hi Arnd,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f6e1ea19649216156576aeafa784e3b4cee45549
commit: f54ec58fee837ec847cb8b50593e81bfaa46107f wimax: move out to staging
date: 9 weeks ago
:::::: branch date: 6 hours ago
:::::: commit date: 9 weeks ago
config: i386-randconfig-m021-20201230 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
drivers/staging/wimax/i2400m/usb-tx.c:205 i2400mu_txd() error: uninitialized symbol 'tx_msg_size'.
drivers/staging/wimax/i2400m/control.c:1224 i2400m_set_init_config() warn: is 'buf' large enough for 'struct i2400m_l3l4_hdr'? 0
Old smatch warnings:
drivers/staging/wimax/i2400m/usb-tx.c:206 i2400mu_txd() error: uninitialized symbol 'tx_msg_size'.
drivers/staging/wimax/i2400m/usb-tx.c:208 i2400mu_txd() error: uninitialized symbol 'tx_msg_size'.
vim +/tx_msg_size +205 drivers/staging/wimax/i2400m/usb-tx.c
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 166
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 167
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 168 /*
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 169 * Get the next TX message in the TX FIFO and send it to the device
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 170 *
25985edcedea6396 drivers/net/wimax/i2400m/usb-tx.c Lucas De Marchi 2011-03-30 171 * Note we exit the loop if i2400mu_tx() fails; that function only
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 172 * fails on hard error (failing to tx a buffer not being one of them,
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 173 * see its doc).
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 174 *
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 175 * Return: 0
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 176 */
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 177 static
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 178 int i2400mu_txd(void *_i2400mu)
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 179 {
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 180 struct i2400mu *i2400mu = _i2400mu;
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 181 struct i2400m *i2400m = &i2400mu->i2400m;
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 182 struct device *dev = &i2400mu->usb_iface->dev;
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 183 struct i2400m_msg_hdr *tx_msg;
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 184 size_t tx_msg_size;
4a78fd9a736db4c8 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2009-10-08 185 unsigned long flags;
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 186
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 187 d_fnstart(4, dev, "(i2400mu %p)\n", i2400mu);
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 188
4a78fd9a736db4c8 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2009-10-08 189 spin_lock_irqsave(&i2400m->tx_lock, flags);
4a78fd9a736db4c8 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2009-10-08 190 BUG_ON(i2400mu->tx_kthread != NULL);
4a78fd9a736db4c8 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2009-10-08 191 i2400mu->tx_kthread = current;
4a78fd9a736db4c8 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2009-10-08 192 spin_unlock_irqrestore(&i2400m->tx_lock, flags);
4a78fd9a736db4c8 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2009-10-08 193
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 194 while (1) {
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 195 d_printf(2, dev, "TX: waiting for messages\n");
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 196 tx_msg = NULL;
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 197 wait_event_interruptible(
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 198 i2400mu->tx_wq,
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 199 (kthread_should_stop() /* check this first! */
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 200 || (tx_msg = i2400m_tx_msg_get(i2400m, &tx_msg_size)))
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 201 );
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 202 if (kthread_should_stop())
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 203 break;
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 204 WARN_ON(tx_msg == NULL); /* should not happen...*/
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 @205 d_printf(2, dev, "TX: submitting %zu bytes\n", tx_msg_size);
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 206 d_dump(5, dev, tx_msg, tx_msg_size);
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 207 /* Yeah, we ignore errors ... not much we can do */
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 208 i2400mu_tx(i2400mu, tx_msg, tx_msg_size);
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 209 i2400m_tx_msg_sent(i2400m); /* ack it, advance the FIFO */
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 210 }
4a78fd9a736db4c8 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2009-10-08 211
4a78fd9a736db4c8 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2009-10-08 212 spin_lock_irqsave(&i2400m->tx_lock, flags);
4a78fd9a736db4c8 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2009-10-08 213 i2400mu->tx_kthread = NULL;
4a78fd9a736db4c8 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2009-10-08 214 spin_unlock_irqrestore(&i2400m->tx_lock, flags);
4a78fd9a736db4c8 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2009-10-08 215
d1d182e00d72300e drivers/net/wimax/i2400m/usb-tx.c Dan Carpenter 2011-12-16 216 d_fnend(4, dev, "(i2400mu %p)\n", i2400mu);
d1d182e00d72300e drivers/net/wimax/i2400m/usb-tx.c Dan Carpenter 2011-12-16 217 return 0;
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 218 }
a8ebf98f54146310 drivers/net/wimax/i2400m/usb-tx.c Inaky Perez-Gonzalez 2008-12-20 219
:::::: The code at line 205 was first introduced by commit
:::::: a8ebf98f541463107bb9544a1b611981dc2477e7 i2400m/USB: TX and RX path backends
:::::: TO: Inaky Perez-Gonzalez <inaky(a)linux.intel.com>
:::::: CC: Greg Kroah-Hartman <gregkh(a)suse.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
Re: [PATCH v2 1/3] bpf,x64: pad NOPs to make images converge more easily
by kernel test robot
CC: kbuild-all(a)lists.01.org
In-Reply-To: <20201218074915.22242-2-glin(a)suse.com>
References: <20201218074915.22242-2-glin(a)suse.com>
TO: Gary Lin <glin(a)suse.com>
TO: netdev(a)vger.kernel.org
TO: bpf(a)vger.kernel.org
CC: Alexei Starovoitov <ast(a)kernel.org>
CC: Daniel Borkmann <daniel(a)iogearbox.net>
CC: Eric Dumazet <eric.dumazet(a)gmail.com>
CC: Andrii Nakryiko <andrii.nakryiko(a)gmail.com>
CC: andreas.taschner(a)suse.com
Hi Gary,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on bpf-next/master]
[also build test WARNING on bpf/master net/master net-next/master ipvs/master v5.11-rc1 next-20201223]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Gary-Lin/bpf-x64-implement-jump-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
:::::: branch date: 13 days ago
:::::: commit date: 13 days ago
config: x86_64-randconfig-c002-20201230 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Julia Lawall <julia.lawall(a)lip6.fr>
"coccinelle warnings: (new ones prefixed by >>)"
>> arch/x86/net/bpf_jit_comp.c:795:16-19: Unneeded variable: "cnt". Return "0" on line 810
Please review and possibly fold the followup patch.
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
drivers/usb/gadget/function/u_ether.c:233:13: warning: Either the condition 'if(skb)' is redundant or there is possible null pointer dereference: skb.
by kernel test robot
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Masahiro Yamada <masahiroy(a)kernel.org>
CC: "Greg Kroah-Hartman" <gregkh(a)linuxfoundation.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 139711f033f636cc78b6aaf7363252241b9698ef
commit: df8df5e4bc37e39010cfdf5d50cf726fe08aae5b usb: get rid of 'choice' for legacy gadget drivers
date: 10 months ago
:::::: branch date: 21 hours ago
:::::: commit date: 10 months ago
compiler: xtensa-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
cppcheck possible warnings: (new ones prefixed by >>, may not real problems)
>> drivers/usb/gadget/function/u_ether.c:233:13: warning: Either the condition 'if(skb)' is redundant or there is possible null pointer dereference: skb. [nullPointerRedundantCheck]
req->buf = skb->data;
^
drivers/usb/gadget/function/u_ether.c:244:6: note: Assuming that condition 'if(skb)' is not redundant
if (skb)
^
drivers/usb/gadget/function/u_ether.c:233:13: note: Null pointer dereference
req->buf = skb->data;
^
vim +233 drivers/usb/gadget/function/u_ether.c
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 173
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 174 static int
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 175 rx_submit(struct eth_dev *dev, struct usb_request *req, gfp_t gfp_flags)
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 176 {
387f869d2579e37 drivers/usb/gadget/function/u_ether.c Felipe Balbi 2017-03-22 177 struct usb_gadget *g = dev->gadget;
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 178 struct sk_buff *skb;
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 179 int retval = -ENOMEM;
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 180 size_t size = 0;
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 181 struct usb_ep *out;
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 182 unsigned long flags;
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 183
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 184 spin_lock_irqsave(&dev->lock, flags);
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 185 if (dev->port_usb)
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 186 out = dev->port_usb->out_ep;
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 187 else
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 188 out = NULL;
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 189
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 190 if (!out)
d29fcf7078bc8be drivers/usb/gadget/function/u_ether.c Kiruthika Varadarajan 2019-06-18 191 {
d29fcf7078bc8be drivers/usb/gadget/function/u_ether.c Kiruthika Varadarajan 2019-06-18 192 spin_unlock_irqrestore(&dev->lock, flags);
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 193 return -ENOTCONN;
d29fcf7078bc8be drivers/usb/gadget/function/u_ether.c Kiruthika Varadarajan 2019-06-18 194 }
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 195
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 196 /* Padding up to RX_EXTRA handles minor disagreements with host.
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 197 * Normally we use the USB "terminate on short read" convention;
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 198 * so allow up to (N*maxpacket), since that memory is normally
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 199 * already allocated. Some hardware doesn't deal well with short
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 200 * reads (e.g. DMA must be N*maxpacket), so for now don't trim a
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 201 * byte off the end (to force hardware errors on overflow).
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 202 *
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 203 * RNDIS uses internal framing, and explicitly allows senders to
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 204 * pad to end-of-packet. That's potentially nice for speed, but
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 205 * means receivers can't recover lost synch on their own (because
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 206 * new packets don't only start after a short RX).
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 207 */
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 208 size += sizeof(struct ethhdr) + dev->net->mtu + RX_EXTRA;
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 209 size += dev->port_usb->header_len;
387f869d2579e37 drivers/usb/gadget/function/u_ether.c Felipe Balbi 2017-03-22 210
387f869d2579e37 drivers/usb/gadget/function/u_ether.c Felipe Balbi 2017-03-22 211 if (g->quirk_ep_out_aligned_size) {
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 212 size += out->maxpacket - 1;
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 213 size -= size % out->maxpacket;
387f869d2579e37 drivers/usb/gadget/function/u_ether.c Felipe Balbi 2017-03-22 214 }
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 215
5c1168dbc508282 drivers/usb/gadget/u_ether.c Yauheni Kaliuta 2010-12-08 216 if (dev->port_usb->is_fixed)
45d1b7ae205e39e drivers/usb/gadget/u_ether.c Stephen Hemminger 2011-03-01 217 size = max_t(size_t, size, dev->port_usb->fixed_out_len);
d29fcf7078bc8be drivers/usb/gadget/function/u_ether.c Kiruthika Varadarajan 2019-06-18 218 spin_unlock_irqrestore(&dev->lock, flags);
5c1168dbc508282 drivers/usb/gadget/u_ether.c Yauheni Kaliuta 2010-12-08 219
18d4689643b08c6 drivers/usb/gadget/function/u_ether.c Torsten Polle 2016-09-19 220 skb = __netdev_alloc_skb(dev->net, size + NET_IP_ALIGN, gfp_flags);
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 221 if (skb == NULL) {
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 222 DBG(dev, "no rx skb\n");
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 223 goto enomem;
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 224 }
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 225
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 226 /* Some platforms perform better when IP packets are aligned,
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 227 * but on at least one, checksumming fails otherwise. Note:
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 228 * RNDIS headers involve variable numbers of LE32 values.
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 229 */
05f6b0ff68429bb drivers/usb/gadget/function/u_ether.c Yoshihiro Shimoda 2016-08-22 230 if (likely(!dev->no_skb_reserve))
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 231 skb_reserve(skb, NET_IP_ALIGN);
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 232
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 @233 req->buf = skb->data;
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 234 req->length = size;
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 235 req->complete = rx_complete;
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 236 req->context = skb;
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 237
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 238 retval = usb_ep_queue(out, req, gfp_flags);
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 239 if (retval == -ENOMEM)
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 240 enomem:
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 241 defer_kevent(dev, WORK_RX_MEMORY);
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 242 if (retval) {
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 243 DBG(dev, "rx submit --> %d\n", retval);
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 244 if (skb)
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 245 dev_kfree_skb_any(skb);
9189a330936fe05 drivers/usb/gadget/u_ether.c Felipe Balbi 2014-04-21 246 spin_lock_irqsave(&dev->req_lock, flags);
9189a330936fe05 drivers/usb/gadget/u_ether.c Felipe Balbi 2014-04-21 247 list_add(&req->list, &dev->rx_reqs);
9189a330936fe05 drivers/usb/gadget/u_ether.c Felipe Balbi 2014-04-21 248 spin_unlock_irqrestore(&dev->req_lock, flags);
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 249 }
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 250 return retval;
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 251 }
2b3d942c4878084 drivers/usb/gadget/u_ether.c David Brownell 2008-06-19 252
:::::: The code at line 233 was first introduced by commit
:::::: 2b3d942c4878084a37991a65e66512c02b8fa2ad usb ethernet gadget: split out network core
:::::: TO: David Brownell <dbrownell(a)users.sourceforge.net>
:::::: CC: Greg Kroah-Hartman <gregkh(a)suse.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
drivers/net/ethernet/intel/igb/igb_main.c:8755 igb_clean_rx_irq() error: 'skb' dereferencing possible ERR_PTR()
by kernel test robot
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Sven Auhagen <sven.auhagen(a)voleatech.de>
CC: Tony Nguyen <anthony.l.nguyen(a)intel.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 139711f033f636cc78b6aaf7363252241b9698ef
commit: 9cbc948b5a20c9c054d9631099c0426c16da546b igb: add XDP support
date: 3 months ago
:::::: branch date: 21 hours ago
:::::: commit date: 3 months ago
config: i386-randconfig-m021-20201230 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
drivers/net/ethernet/intel/igb/igb_main.c:8755 igb_clean_rx_irq() error: 'skb' dereferencing possible ERR_PTR()
Old smatch warnings:
include/linux/u64_stats_sync.h:128 u64_stats_update_begin() warn: statement has no effect 31
vim +/skb +8755 drivers/net/ethernet/intel/igb/igb_main.c
9d5c824399dea881 drivers/net/igb/igb_main.c Auke Kok 2008-01-24 8675
57ba34c9b068f314 drivers/net/ethernet/intel/igb/igb_main.c Eric W. Biederman 2014-03-14 8676 while (likely(total_packets < budget)) {
2e334eee9bef6150 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8677 union e1000_adv_rx_desc *rx_desc;
e014272672b96447 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2017-02-06 8678 struct igb_rx_buffer *rx_buffer;
e014272672b96447 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2017-02-06 8679 unsigned int size;
1a1c225b9463038a drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8680
2e334eee9bef6150 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8681 /* return some buffers to hardware, one at a time is too slow */
2e334eee9bef6150 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8682 if (cleaned_count >= IGB_RX_BUFFER_WRITE) {
2e334eee9bef6150 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8683 igb_alloc_rx_buffers(rx_ring, cleaned_count);
2e334eee9bef6150 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8684 cleaned_count = 0;
2e334eee9bef6150 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8685 }
1a1c225b9463038a drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8686
2e334eee9bef6150 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8687 rx_desc = IGB_RX_DESC(rx_ring, rx_ring->next_to_clean);
e014272672b96447 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2017-02-06 8688 size = le16_to_cpu(rx_desc->wb.upper.length);
e014272672b96447 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2017-02-06 8689 if (!size)
1a1c225b9463038a drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8690 break;
9d5c824399dea881 drivers/net/igb/igb_main.c Auke Kok 2008-01-24 8691
74e238eada573540 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2013-02-02 8692 /* This memory barrier is needed to keep us from reading
74e238eada573540 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2013-02-02 8693 * any other fields out of the rx_desc until we know the
124b74c18e0e31b2 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2014-12-11 8694 * descriptor has been written back
74e238eada573540 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2013-02-02 8695 */
124b74c18e0e31b2 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2014-12-11 8696 dma_rmb();
74e238eada573540 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2013-02-02 8697
e014272672b96447 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2017-02-06 8698 rx_buffer = igb_get_rx_buffer(rx_ring, size);
e014272672b96447 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2017-02-06 8699
2e334eee9bef6150 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8700 /* retrieve a buffer from the ring */
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8701 if (!skb) {
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8702 xdp.data = page_address(rx_buffer->page) +
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8703 rx_buffer->page_offset;
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8704 xdp.data_meta = xdp.data;
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8705 xdp.data_hard_start = xdp.data -
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8706 igb_rx_offset(rx_ring);
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8707 xdp.data_end = xdp.data + size;
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8708 #if (PAGE_SIZE > 4096)
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8709 /* At larger PAGE_SIZE, frame_sz depend on len size */
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8710 xdp.frame_sz = igb_rx_frame_truesize(rx_ring, size);
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8711 #endif
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8712 skb = igb_run_xdp(adapter, rx_ring, &xdp);
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8713 }
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8714
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8715 if (IS_ERR(skb)) {
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8716 unsigned int xdp_res = -PTR_ERR(skb);
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8717
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8718 if (xdp_res & (IGB_XDP_TX | IGB_XDP_REDIR)) {
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8719 xdp_xmit |= xdp_res;
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8720 igb_rx_buffer_flip(rx_ring, rx_buffer, size);
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8721 } else {
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8722 rx_buffer->pagecnt_bias++;
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8723 }
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8724 total_packets++;
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8725 total_bytes += size;
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8726 } else if (skb)
e014272672b96447 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2017-02-06 8727 igb_add_rx_frag(rx_ring, rx_buffer, skb, size);
b1bb2eb0a0deb03e drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2017-02-06 8728 else if (ring_uses_build_skb(rx_ring))
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8729 skb = igb_build_skb(rx_ring, rx_buffer, &xdp, rx_desc);
e014272672b96447 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2017-02-06 8730 else
e014272672b96447 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2017-02-06 8731 skb = igb_construct_skb(rx_ring, rx_buffer,
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8732 &xdp, rx_desc);
9d5c824399dea881 drivers/net/igb/igb_main.c Auke Kok 2008-01-24 8733
2e334eee9bef6150 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8734 /* exit if we failed to retrieve a buffer */
e014272672b96447 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2017-02-06 8735 if (!skb) {
e014272672b96447 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2017-02-06 8736 rx_ring->rx_stats.alloc_failed++;
e014272672b96447 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2017-02-06 8737 rx_buffer->pagecnt_bias++;
2e334eee9bef6150 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8738 break;
e014272672b96447 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2017-02-06 8739 }
cbc8e55f6fdae27b drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8740
e014272672b96447 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2017-02-06 8741 igb_put_rx_buffer(rx_ring, rx_buffer);
2e334eee9bef6150 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8742 cleaned_count++;
9d5c824399dea881 drivers/net/igb/igb_main.c Auke Kok 2008-01-24 8743
2e334eee9bef6150 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8744 /* fetch next buffer in frame if non-eop */
2e334eee9bef6150 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8745 if (igb_is_non_eop(rx_ring, rx_desc))
2e334eee9bef6150 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8746 continue;
44390ca6cb3d4d3c drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2011-08-26 8747
1a1c225b9463038a drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8748 /* verify the packet layout is correct */
1a1c225b9463038a drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8749 if (igb_cleanup_headers(rx_ring, rx_desc, skb)) {
1a1c225b9463038a drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8750 skb = NULL;
1a1c225b9463038a drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8751 continue;
9d5c824399dea881 drivers/net/igb/igb_main.c Auke Kok 2008-01-24 8752 }
9d5c824399dea881 drivers/net/igb/igb_main.c Auke Kok 2008-01-24 8753
db2ee5bdf5c83320 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8754 /* probably a little skewed due to removing CRC */
3ceb90fd4898853c drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2011-08-26 @8755 total_bytes += skb->len;
3ceb90fd4898853c drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2011-08-26 8756
db2ee5bdf5c83320 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8757 /* populate checksum, timestamp, VLAN, and protocol */
db2ee5bdf5c83320 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8758 igb_process_skb_fields(rx_ring, rx_desc, skb);
3ceb90fd4898853c drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2011-08-26 8759
b2cb09b1a7725408 drivers/net/igb/igb_main.c Jiri Pirko 2011-07-21 8760 napi_gro_receive(&q_vector->napi, skb);
9d5c824399dea881 drivers/net/igb/igb_main.c Auke Kok 2008-01-24 8761
1a1c225b9463038a drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8762 /* reset skb pointer */
1a1c225b9463038a drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8763 skb = NULL;
1a1c225b9463038a drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8764
2e334eee9bef6150 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8765 /* update budget accounting */
2e334eee9bef6150 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8766 total_packets++;
57ba34c9b068f314 drivers/net/ethernet/intel/igb/igb_main.c Eric W. Biederman 2014-03-14 8767 }
bf36c1a0040cc6cc drivers/net/igb/igb_main.c Alexander Duyck 2008-07-08 8768
1a1c225b9463038a drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8769 /* place incomplete frames back on ring for completion */
1a1c225b9463038a drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8770 rx_ring->skb = skb;
1a1c225b9463038a drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2012-09-25 8771
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8772 if (xdp_xmit & IGB_XDP_REDIR)
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8773 xdp_do_flush_map();
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8774
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8775 if (xdp_xmit & IGB_XDP_TX) {
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8776 struct igb_ring *tx_ring = igb_xdp_tx_queue_mapping(adapter);
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8777
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8778 igb_xdp_ring_update_tail(tx_ring);
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8779 }
9cbc948b5a20c9c0 drivers/net/ethernet/intel/igb/igb_main.c Sven Auhagen 2020-09-02 8780
12dcd86b75d57177 drivers/net/igb/igb_main.c Eric Dumazet 2010-10-15 8781 u64_stats_update_begin(&rx_ring->rx_syncp);
9d5c824399dea881 drivers/net/igb/igb_main.c Auke Kok 2008-01-24 8782 rx_ring->rx_stats.packets += total_packets;
9d5c824399dea881 drivers/net/igb/igb_main.c Auke Kok 2008-01-24 8783 rx_ring->rx_stats.bytes += total_bytes;
12dcd86b75d57177 drivers/net/igb/igb_main.c Eric Dumazet 2010-10-15 8784 u64_stats_update_end(&rx_ring->rx_syncp);
0ba829943c5180d4 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2011-08-26 8785 q_vector->rx.total_packets += total_packets;
0ba829943c5180d4 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2011-08-26 8786 q_vector->rx.total_bytes += total_bytes;
c023cd8898dbee85 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2011-08-26 8787
c023cd8898dbee85 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2011-08-26 8788 if (cleaned_count)
cd392f5ca976b5ad drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2011-08-26 8789 igb_alloc_rx_buffers(rx_ring, cleaned_count);
c023cd8898dbee85 drivers/net/ethernet/intel/igb/igb_main.c Alexander Duyck 2011-08-26 8790
32b3e08fff60494c drivers/net/ethernet/intel/igb/igb_main.c Jesse Brandeburg 2015-09-24 8791 return total_packets;
9d5c824399dea881 drivers/net/igb/igb_main.c Auke Kok 2008-01-24 8792 }
9d5c824399dea881 drivers/net/igb/igb_main.c Auke Kok 2008-01-24 8793
:::::: The code at line 8755 was first introduced by commit
:::::: 3ceb90fd4898853cdac43084f0c6ee7270cb15f3 igb: leave staterr in place and instead us a helper function to check bits
:::::: TO: Alexander Duyck <alexander.h.duyck(a)intel.com>
:::::: CC: Jeff Kirsher <jeffrey.t.kirsher(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months