Commit 00e2e05d authored by Pekka Enberg's avatar Pekka Enberg Committed by Greg Kroah-Hartman
Browse files

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: default avatarPavel Machek <pavel@ucw.cz>
Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent cfe31f81
Loading
Loading
Loading
Loading
+35 −31
Original line number Diff line number Diff line
@@ -487,11 +487,17 @@ 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)) {
	if (!Wb35Reg_initial(pHwData))
		goto error;

	pHwData->InitialResource = 2;
		if (Wb35Tx_initial(pHwData)) {
	if (!Wb35Tx_initial(pHwData))
		goto error;

	pHwData->InitialResource = 3;
			if (Wb35Rx_initial(pHwData)) {
	if (!Wb35Rx_initial(pHwData))
		goto error;

	pHwData->InitialResource = 4;
	init_timer(&pHwData->LEDTimer);
	pHwData->LEDTimer.function = hal_led_control;
@@ -515,10 +521,8 @@ static int hal_init_hardware(struct ieee80211_hw *hw)
	Wb35Tx_EP2VM_start(priv);

	return 0;
			}
		}
	}

error:
	pHwData->SurpriseRemove = 1;
	return -EINVAL;
}