Commit ca315ac2 authored by Dan Carpenter's avatar Dan Carpenter Committed by David S. Miller
Browse files

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: default avatarDan Carpenter <error27@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 00c7d920
Loading
Loading
Loading
Loading
+23 −22
Original line number Diff line number Diff line
@@ -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;
}