mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 23:40:53 +07:00
qlcnic: clean up qlcnic_init_pci_info()
In the original code we allocated memory conditionally and freed it in the error handling unconditionally. It turns out that this function is only called during initialization and "adapter->npars" and "adapter->eswitch" are always NULL at the start of the function. I removed those checks. Also since I was cleaning things, I changed the error handling for qlcnic_get_pci_info() and pulled everything in an indent level. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
00c7d9202a
commit
ca315ac22c
@ -477,22 +477,22 @@ qlcnic_init_pci_info(struct qlcnic_adapter *adapter)
|
||||
int i, ret = 0, err;
|
||||
u8 pfn;
|
||||
|
||||
if (!adapter->npars)
|
||||
adapter->npars = kzalloc(sizeof(struct qlcnic_npar_info) *
|
||||
QLCNIC_MAX_PCI_FUNC, GFP_KERNEL);
|
||||
if (!adapter->npars)
|
||||
return -ENOMEM;
|
||||
|
||||
if (!adapter->eswitch)
|
||||
adapter->eswitch = kzalloc(sizeof(struct qlcnic_eswitch) *
|
||||
QLCNIC_NIU_MAX_XG_PORTS, GFP_KERNEL);
|
||||
if (!adapter->eswitch) {
|
||||
err = -ENOMEM;
|
||||
goto err_eswitch;
|
||||
goto err_npars;
|
||||
}
|
||||
|
||||
ret = qlcnic_get_pci_info(adapter, pci_info);
|
||||
if (!ret) {
|
||||
if (ret)
|
||||
goto err_eswitch;
|
||||
|
||||
for (i = 0; i < QLCNIC_MAX_PCI_FUNC; i++) {
|
||||
pfn = pci_info[i].id;
|
||||
if (pfn > QLCNIC_MAX_PCI_FUNC)
|
||||
@ -508,13 +508,14 @@ qlcnic_init_pci_info(struct qlcnic_adapter *adapter)
|
||||
for (i = 0; i < QLCNIC_NIU_MAX_XG_PORTS; i++)
|
||||
adapter->eswitch[i].flags |= QLCNIC_SWITCH_ENABLE;
|
||||
|
||||
return ret;
|
||||
}
|
||||
return 0;
|
||||
|
||||
err_eswitch:
|
||||
kfree(adapter->eswitch);
|
||||
adapter->eswitch = NULL;
|
||||
err_eswitch:
|
||||
err_npars:
|
||||
kfree(adapter->npars);
|
||||
adapter->npars = NULL;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user