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,
|
||||
};
|
||||
|
||||
static int shomron_nodnic_supported = 0;
|
||||
|
||||
static int shomron_nodnic_is_supported ( struct pci_device *pci ) {
|
||||
if ( DEVICE_IS_CIB ( pci->device ) )
|
||||
return 0;
|
||||
|
@ -2607,8 +2605,7 @@ static int golan_probe ( struct pci_device *pci ) {
|
|||
goto probe_done;
|
||||
}
|
||||
|
||||
shomron_nodnic_supported = shomron_nodnic_is_supported ( pci );
|
||||
if ( shomron_nodnic_supported ) {
|
||||
if ( shomron_nodnic_is_supported ( pci ) ) {
|
||||
DBG ( "%s: Using NODNIC driver\n", __FUNCTION__ );
|
||||
rc = flexboot_nodnic_probe ( pci, &shomron_nodnic_callbacks, NULL );
|
||||
} else {
|
||||
|
@ -2624,7 +2621,7 @@ probe_done:
|
|||
static void golan_remove ( struct pci_device *pci ) {
|
||||
DBG ( "%s: start\n", __FUNCTION__ );
|
||||
|
||||
if ( ! shomron_nodnic_supported ) {
|
||||
if ( ! shomron_nodnic_is_supported ( pci ) ) {
|
||||
DBG ( "%s: Using normal driver remove\n", __FUNCTION__ );
|
||||
golan_remove_normal ( pci );
|
||||
return;
|
||||
|
|
Loading…
Reference in New Issue