On Mon, 1 Sep 2025 07:11:26 +0000, Loktionov, Aleksandr wrote:

>> [...]
>> 
>> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
>> b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
>> index ff6e8ebda5ba..08368e2717c2 100644
>> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
>> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
>> @@ -11510,10 +11510,10 @@ static int ixgbe_recovery_probe(struct
>> ixgbe_adapter *adapter)
>>  shutdown_aci:
>>      mutex_destroy(&adapter->hw.aci.lock);
>>      ixgbe_release_hw_control(adapter);
>> -    devlink_free(adapter->devlink);
>>  clean_up_probe:
>>      disable_dev = !test_and_set_bit(__IXGBE_DISABLED, &adapter-
>> >state);
>>      free_netdev(netdev);
>I'd add a guard here: if (adapter->devlink)
>What do you think?

Thank you for the review.

Currently ixgbe_recovery_probe() is only called from one location,
ixgbe_probe(), and also always adapter->devlink is not NULL in this path
since this is called after ixgbe_allocate_devlink(). In other words, if
ixgbe_allocate_devlink() fails, ixgbe_recovery_probe() never be called.

So I've thought that the guard might not be necessary like error
handling in ixgbe_probe(), but could you let me know your concern if I'm
overlooking something?

Thanks,
Kohei.

>> +    devlink_free(adapter->devlink);
>>      pci_release_mem_regions(pdev);
>>      if (disable_dev)
>>              pci_disable_device(pdev);
>> --
>> 2.51.0

Reply via email to