|
@@ -97,22 +97,20 @@ static int pci_epc_epf_link(struct config_item *epc_item,
|
|
|
{
|
|
|
int ret;
|
|
|
u32 func_no = 0;
|
|
|
- struct pci_epc *epc;
|
|
|
- struct pci_epf *epf;
|
|
|
struct pci_epf_group *epf_group = to_pci_epf_group(epf_item);
|
|
|
struct pci_epc_group *epc_group = to_pci_epc_group(epc_item);
|
|
|
-
|
|
|
- epc = epc_group->epc;
|
|
|
- epf = epf_group->epf;
|
|
|
- ret = pci_epc_add_epf(epc, epf);
|
|
|
- if (ret)
|
|
|
- goto err_add_epf;
|
|
|
+ struct pci_epc *epc = epc_group->epc;
|
|
|
+ struct pci_epf *epf = epf_group->epf;
|
|
|
|
|
|
func_no = find_first_zero_bit(&epc_group->function_num_map,
|
|
|
sizeof(epc_group->function_num_map));
|
|
|
set_bit(func_no, &epc_group->function_num_map);
|
|
|
epf->func_no = func_no;
|
|
|
|
|
|
+ ret = pci_epc_add_epf(epc, epf);
|
|
|
+ if (ret)
|
|
|
+ goto err_add_epf;
|
|
|
+
|
|
|
ret = pci_epf_bind(epf);
|
|
|
if (ret)
|
|
|
goto err_epf_bind;
|