mirror of
https://github.com/ipxe/ipxe
synced 2025-12-11 22:11:08 +03:00
[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>
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user