mirror of https://github.com/ipxe/ipxe.git
[golan] Do not assume all devices are identical
Remove the global variable shomron_nodnic_supported, since it may have different values for different PCI devices. Originally-fixed-by: Mohammed Taha <mohammedt@mellanox.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>pull/71/head
parent
89e31f8491
commit
0778418e29
|
@ -2586,8 +2586,6 @@ struct flexboot_nodnic_callbacks shomron_nodnic_callbacks = {
|
||||||
.tx_uar_send_doorbell_fn = shomron_tx_uar_send_db,
|
.tx_uar_send_doorbell_fn = shomron_tx_uar_send_db,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int shomron_nodnic_supported = 0;
|
|
||||||
|
|
||||||
static int shomron_nodnic_is_supported ( struct pci_device *pci ) {
|
static int shomron_nodnic_is_supported ( struct pci_device *pci ) {
|
||||||
if ( DEVICE_IS_CIB ( pci->device ) )
|
if ( DEVICE_IS_CIB ( pci->device ) )
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2607,8 +2605,7 @@ static int golan_probe ( struct pci_device *pci ) {
|
||||||
goto probe_done;
|
goto probe_done;
|
||||||
}
|
}
|
||||||
|
|
||||||
shomron_nodnic_supported = shomron_nodnic_is_supported ( pci );
|
if ( shomron_nodnic_is_supported ( pci ) ) {
|
||||||
if ( shomron_nodnic_supported ) {
|
|
||||||
DBG ( "%s: Using NODNIC driver\n", __FUNCTION__ );
|
DBG ( "%s: Using NODNIC driver\n", __FUNCTION__ );
|
||||||
rc = flexboot_nodnic_probe ( pci, &shomron_nodnic_callbacks, NULL );
|
rc = flexboot_nodnic_probe ( pci, &shomron_nodnic_callbacks, NULL );
|
||||||
} else {
|
} else {
|
||||||
|
@ -2624,7 +2621,7 @@ probe_done:
|
||||||
static void golan_remove ( struct pci_device *pci ) {
|
static void golan_remove ( struct pci_device *pci ) {
|
||||||
DBG ( "%s: start\n", __FUNCTION__ );
|
DBG ( "%s: start\n", __FUNCTION__ );
|
||||||
|
|
||||||
if ( ! shomron_nodnic_supported ) {
|
if ( ! shomron_nodnic_is_supported ( pci ) ) {
|
||||||
DBG ( "%s: Using normal driver remove\n", __FUNCTION__ );
|
DBG ( "%s: Using normal driver remove\n", __FUNCTION__ );
|
||||||
golan_remove_normal ( pci );
|
golan_remove_normal ( pci );
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in New Issue