mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-02-07 12:00:38 +00:00
Staging: w35und: simplify hal_init_hardware() error handling
Impact: cleanup Use gotos to simplify the deep if-statement nesting in hal_init_hardware(). Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
cfe31f81e1
commit
00e2e05dd0
@ -487,38 +487,42 @@ static int hal_init_hardware(struct ieee80211_hw *hw)
|
||||
pHwData->FragmentThreshold = DEFAULT_FRAGMENT_THRESHOLD; // Setting default fragment threshold
|
||||
|
||||
pHwData->InitialResource = 1;
|
||||
if( Wb35Reg_initial(pHwData)) {
|
||||
pHwData->InitialResource = 2;
|
||||
if (Wb35Tx_initial(pHwData)) {
|
||||
pHwData->InitialResource = 3;
|
||||
if (Wb35Rx_initial(pHwData)) {
|
||||
pHwData->InitialResource = 4;
|
||||
init_timer(&pHwData->LEDTimer);
|
||||
pHwData->LEDTimer.function = hal_led_control;
|
||||
pHwData->LEDTimer.data = (unsigned long) priv;
|
||||
pHwData->LEDTimer.expires = jiffies + msecs_to_jiffies(1000);
|
||||
add_timer(&pHwData->LEDTimer);
|
||||
if (!Wb35Reg_initial(pHwData))
|
||||
goto error;
|
||||
|
||||
//
|
||||
// For restrict to vendor's hardware
|
||||
//
|
||||
SoftwareSet = hal_software_set( pHwData );
|
||||
pHwData->InitialResource = 2;
|
||||
if (!Wb35Tx_initial(pHwData))
|
||||
goto error;
|
||||
|
||||
#ifdef Vendor2
|
||||
// Try to make sure the EEPROM contain
|
||||
SoftwareSet >>= 8;
|
||||
if( SoftwareSet != 0x82 )
|
||||
return false;
|
||||
#endif
|
||||
pHwData->InitialResource = 3;
|
||||
if (!Wb35Rx_initial(pHwData))
|
||||
goto error;
|
||||
|
||||
Wb35Rx_start(hw);
|
||||
Wb35Tx_EP2VM_start(priv);
|
||||
pHwData->InitialResource = 4;
|
||||
init_timer(&pHwData->LEDTimer);
|
||||
pHwData->LEDTimer.function = hal_led_control;
|
||||
pHwData->LEDTimer.data = (unsigned long) priv;
|
||||
pHwData->LEDTimer.expires = jiffies + msecs_to_jiffies(1000);
|
||||
add_timer(&pHwData->LEDTimer);
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
// For restrict to vendor's hardware
|
||||
//
|
||||
SoftwareSet = hal_software_set( pHwData );
|
||||
|
||||
#ifdef Vendor2
|
||||
// Try to make sure the EEPROM contain
|
||||
SoftwareSet >>= 8;
|
||||
if( SoftwareSet != 0x82 )
|
||||
return false;
|
||||
#endif
|
||||
|
||||
Wb35Rx_start(hw);
|
||||
Wb35Tx_EP2VM_start(priv);
|
||||
|
||||
return 0;
|
||||
|
||||
error:
|
||||
pHwData->SurpriseRemove = 1;
|
||||
return -EINVAL;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user