tree: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git master head: 43df215d99e6049d4680309c54232689e16ddd6b commit: baf5086840ab1815003e6ece5a51c1a803f81f47 [332/399] cxgb4: restructure VF mgmt code
New smatch warnings: drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c:5507 init_one() warn: possible memory leak of 'adapter' # https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit/?id=baf5086840ab1815003e6ece5a51c1a803f81f47 git remote add net-next https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git git remote update net-next git checkout baf5086840ab1815003e6ece5a51c1a803f81f47 vim +/adapter +5507 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b72a32dac drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Rahul Lakkireddy 2016-08-22 5377 b72a32dac drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Rahul Lakkireddy 2016-08-22 5378 for_each_port(adapter, i) { b72a32dac drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Rahul Lakkireddy 2016-08-22 5379 pi = adap2pinfo(adapter, i); b72a32dac drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Rahul Lakkireddy 2016-08-22 5380 pi->sched_tbl = t4_init_sched(adapter->params.nsched_cls); b72a32dac drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Rahul Lakkireddy 2016-08-22 5381 if (!pi->sched_tbl) b72a32dac drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Rahul Lakkireddy 2016-08-22 5382 dev_warn(&pdev->dev, b72a32dac drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Rahul Lakkireddy 2016-08-22 5383 "could not activate scheduling on port %d\n", b72a32dac drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Rahul Lakkireddy 2016-08-22 5384 i); b72a32dac drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Rahul Lakkireddy 2016-08-22 5385 } b72a32dac drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Rahul Lakkireddy 2016-08-22 5386 578b46b93 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Rahul Lakkireddy 2016-09-20 5387 if (tid_init(&adapter->tids) < 0) { b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5388 dev_warn(&pdev->dev, "could not allocate TID table, " b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5389 "continuing\n"); b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5390 adapter->params.offload = 0; d89318474 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Rahul Lakkireddy 2016-09-20 5391 } else { 45da1ca2e drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Arjun V 2017-02-16 5392 adapter->tc_u32 = cxgb4_init_tc_u32(adapter); d89318474 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Rahul Lakkireddy 2016-09-20 5393 if (!adapter->tc_u32) d89318474 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Rahul Lakkireddy 2016-09-20 5394 dev_warn(&pdev->dev, d89318474 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Rahul Lakkireddy 2016-09-20 5395 "could not offload tc u32, continuing\n"); 62488e4b5 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Kumar Sanghvi 2017-09-21 5396 79e6d46a6 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Kumar Sanghvi 2017-11-01 5397 if (cxgb4_init_tc_flower(adapter)) 79e6d46a6 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Kumar Sanghvi 2017-11-01 5398 dev_warn(&pdev->dev, 79e6d46a6 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Kumar Sanghvi 2017-11-01 5399 "could not offload tc flower, continuing\n"); b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5400 } b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5401 5c31254e3 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Kumar Sanghvi 2017-11-01 5402 if (is_offload(adapter) || is_hashfilter(adapter)) { 9a1bb9f64 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2015-08-12 5403 if (t4_read_reg(adapter, LE_DB_CONFIG_A) & HASHEN_F) { 9a1bb9f64 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2015-08-12 5404 u32 hash_base, hash_reg; 9a1bb9f64 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2015-08-12 5405 9a1bb9f64 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2015-08-12 5406 if (chip <= CHELSIO_T5) { 9a1bb9f64 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2015-08-12 5407 hash_reg = LE_DB_TID_HASHBASE_A; 9a1bb9f64 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2015-08-12 5408 hash_base = t4_read_reg(adapter, hash_reg); 9a1bb9f64 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2015-08-12 5409 adapter->tids.hash_base = hash_base / 4; 9a1bb9f64 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2015-08-12 5410 } else { 9a1bb9f64 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2015-08-12 5411 hash_reg = T6_LE_DB_HASH_TID_BASE_A; 9a1bb9f64 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2015-08-12 5412 hash_base = t4_read_reg(adapter, hash_reg); 9a1bb9f64 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2015-08-12 5413 adapter->tids.hash_base = hash_base; 9a1bb9f64 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2015-08-12 5414 } 9a1bb9f64 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2015-08-12 5415 } 9a1bb9f64 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2015-08-12 5416 } 9a1bb9f64 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2015-08-12 5417 f7cabcdd5 drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-07-11 5418 /* See what interrupts we'll be using */ f7cabcdd5 drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-07-11 5419 if (msi > 1 && enable_msix(adapter) == 0) f7cabcdd5 drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-07-11 5420 adapter->flags |= USING_MSIX; 94cdb8bb9 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2016-08-17 5421 else if (msi > 0 && pci_enable_msi(pdev) == 0) { f7cabcdd5 drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-07-11 5422 adapter->flags |= USING_MSI; 94cdb8bb9 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2016-08-17 5423 if (msi > 1) 94cdb8bb9 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2016-08-17 5424 free_msix_info(adapter); 94cdb8bb9 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2016-08-17 5425 } f7cabcdd5 drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-07-11 5426 547fd2724 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2015-12-23 5427 /* check for PCI Express bandwidth capabiltites */ 547fd2724 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2015-12-23 5428 cxgb4_check_pcie_caps(adapter); 547fd2724 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2015-12-23 5429 671b0060d drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-07-11 5430 err = init_rss(adapter); 671b0060d drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-07-11 5431 if (err) 671b0060d drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-07-11 5432 goto out_free_dev; 671b0060d drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-07-11 5433 b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5434 /* b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5435 * The card is now ready to go. If any errors occur during device b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5436 * registration we do not fail the whole card but rather proceed only b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5437 * with the ports we manage to register successfully. However we must b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5438 * register at least one net device. b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5439 */ b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5440 for_each_port(adapter, i) { a57cabe09 drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-12-14 5441 pi = adap2pinfo(adapter, i); d2a007ab1 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Arjun V 2016-12-08 5442 adapter->port[i]->dev_port = pi->lport; a57cabe09 drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-12-14 5443 netif_set_real_num_tx_queues(adapter->port[i], pi->nqsets); a57cabe09 drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-12-14 5444 netif_set_real_num_rx_queues(adapter->port[i], pi->nqsets); a57cabe09 drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-12-14 5445 b1a73af91 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Surendra Mobiya 2017-05-30 5446 netif_carrier_off(adapter->port[i]); b1a73af91 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Surendra Mobiya 2017-05-30 5447 b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5448 err = register_netdev(adapter->port[i]); b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5449 if (err) b1a3c2b69 drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-12-14 5450 break; a57cabe09 drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-12-14 5451 adapter->chan_map[pi->tx_chan] = i; 118969ed2 drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-12-14 5452 print_port_info(adapter->port[i]); b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5453 } b1a3c2b69 drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-12-14 5454 if (i == 0) { b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5455 dev_err(&pdev->dev, "could not register any net devices\n"); b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5456 goto out_free_dev; b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5457 } b1a3c2b69 drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-12-14 5458 if (err) { b1a3c2b69 drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-12-14 5459 dev_warn(&pdev->dev, "only %d net devices registered\n", i); b1a3c2b69 drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-12-14 5460 err = 0; 6403eab14 drivers/net/cxgb4/cxgb4_main.c Joe Perches 2011-06-03 5461 } b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5462 b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5463 if (cxgb4_debugfs_root) { b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5464 adapter->debugfs_root = debugfs_create_dir(pci_name(pdev), b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5465 cxgb4_debugfs_root); b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5466 setup_debugfs(adapter); b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5467 } b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5468 6482aa7c1 drivers/net/cxgb4/cxgb4_main.c Divy Le Ray 2011-09-24 5469 /* PCIe EEH recovery on powerpc platforms needs fundamental reset */ 6482aa7c1 drivers/net/cxgb4/cxgb4_main.c Divy Le Ray 2011-09-24 5470 pdev->needs_freset = 1; 6482aa7c1 drivers/net/cxgb4/cxgb4_main.c Divy Le Ray 2011-09-24 5471 0fbc81b3a drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2016-09-17 5472 if (is_uld(adapter)) { 0fbc81b3a drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2016-09-17 5473 mutex_lock(&uld_mutex); 0fbc81b3a drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2016-09-17 5474 list_add_tail(&adapter->list_node, &adapter_list); 0fbc81b3a drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2016-09-17 5475 mutex_unlock(&uld_mutex); 0fbc81b3a drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2016-09-17 5476 } b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5477 9c33e4208 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Atul Gupta 2017-07-04 5478 if (!is_t4(adapter->params.chip)) 9c33e4208 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Atul Gupta 2017-07-04 5479 cxgb4_ptp_init(adapter); 9c33e4208 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Atul Gupta 2017-07-04 5480 0de727383 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2016-04-26 5481 print_adapter_info(adapter); 0fbc81b3a drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2016-09-17 5482 setup_fw_sge_queues(adapter); 7829451c6 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2016-08-11 5483 return 0; 0de727383 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2016-04-26 5484 b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5485 out_free_dev: 065463915 drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-07-11 5486 free_some_resources(adapter); 94cdb8bb9 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2016-08-17 5487 if (adapter->flags & USING_MSIX) 94cdb8bb9 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2016-08-17 5488 free_msix_info(adapter); 0fbc81b3a drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2016-09-17 5489 if (adapter->num_uld || adapter->num_ofld_uld) 0fbc81b3a drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2016-09-17 5490 t4_uld_mem_free(adapter); b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5491 out_unmap_bar: d14807dd8 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2013-12-03 5492 if (!is_t4(adapter->params.chip)) 22adfe0a8 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Santosh Rastapur 2013-03-14 5493 iounmap(adapter->bar2); b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5494 out_free_adapter: 29aaee65b drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Anish Bhatt 2014-08-20 5495 if (adapter->workq) 29aaee65b drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Anish Bhatt 2014-08-20 5496 destroy_workqueue(adapter->workq); 29aaee65b drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Anish Bhatt 2014-08-20 5497 7f080c3f2 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2016-04-28 5498 kfree(adapter->mbox_log); b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5499 kfree(adapter); d6ce2628f drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2014-09-16 5500 out_unmap_bar0: d6ce2628f drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c Hariprasad Shenai 2014-09-16 5501 iounmap(regs); b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5502 out_disable_device: b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5503 pci_disable_pcie_error_reporting(pdev); b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5504 pci_disable_device(pdev); b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5505 out_release_regions: b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5506 pci_release_regions(pdev); b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 @5507 return err; b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5508 } b8ff05a9c drivers/net/cxgb4/cxgb4_main.c Dimitris Michailidis 2010-04-01 5509 :::::: The code at line 5507 was first introduced by commit :::::: b8ff05a9c3237f694a1c3bf8ceec3bf6c3c14b15 cxgb4: Add main driver file and driver Makefile :::::: TO: Dimitris Michailidis <d...@chelsio.com> :::::: CC: David S. Miller <da...@davemloft.net> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation _______________________________________________ kbuild mailing list kbuild@lists.01.org https://lists.01.org/mailman/listinfo/kbuild