diff options
Diffstat (limited to 'drivers/net/ethernet/intel/igc/igc_main.c')
| -rw-r--r-- | drivers/net/ethernet/intel/igc/igc_main.c | 12 | 
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c index e79b14d50b24..728d7ca5338b 100644 --- a/drivers/net/ethernet/intel/igc/igc_main.c +++ b/drivers/net/ethernet/intel/igc/igc_main.c @@ -7335,8 +7335,14 @@ static int igc_probe(struct pci_dev *pdev,  	if (IS_ENABLED(CONFIG_IGC_LEDS)) {  		err = igc_led_setup(adapter); -		if (err) -			goto err_register; +		if (err) { +			netdev_warn_once(netdev, +					 "LED init failed (%d); continuing without LED support\n", +					 err); +			adapter->leds_available = false; +		} else { +			adapter->leds_available = true; +		}  	}  	return 0; @@ -7392,7 +7398,7 @@ static void igc_remove(struct pci_dev *pdev)  	cancel_work_sync(&adapter->watchdog_task);  	hrtimer_cancel(&adapter->hrtimer); -	if (IS_ENABLED(CONFIG_IGC_LEDS)) +	if (IS_ENABLED(CONFIG_IGC_LEDS) && adapter->leds_available)  		igc_led_free(adapter);  	/* Release control of h/w to f/w.  If f/w is AMT enabled, this  | 
