Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 40e61d12 authored by Matthias Beyer's avatar Matthias Beyer Committed by Greg Kroah-Hartman
Browse files

Staging: bcm: InterfaceMisc.c: Outsourced doubled error checking

parent 8e7e2805
Loading
Loading
Loading
Loading
+31 −38
Original line number Diff line number Diff line
#include "headers.h"

int InterfaceRDM(struct bcm_interface_adapter *psIntfAdapter,
		unsigned int addr,
		void *buff,
		int len)
static int adapter_err_occurred(const struct bcm_interface_adapter *ad)
{
	int bytes;

	if (!psIntfAdapter)
		return -EINVAL;

	if (psIntfAdapter->psAdapter->device_removed == TRUE) {
		BCM_DEBUG_PRINT(psIntfAdapter->psAdapter, DBG_TYPE_PRINTK, 0, 0,
	if (ad->psAdapter->device_removed == TRUE) {
		BCM_DEBUG_PRINT(ad->psAdapter, DBG_TYPE_PRINTK, 0, 0,
				"Device got removed");
		return -ENODEV;
	}

	if ((psIntfAdapter->psAdapter->StopAllXaction == TRUE) &&
	    (psIntfAdapter->psAdapter->chip_id >= T3LPB)) {
		BCM_DEBUG_PRINT(psIntfAdapter->psAdapter, DBG_TYPE_OTHERS, RDM,
	if ((ad->psAdapter->StopAllXaction == TRUE) &&
	    (ad->psAdapter->chip_id >= T3LPB)) {
		BCM_DEBUG_PRINT(ad->psAdapter, DBG_TYPE_OTHERS, RDM,
				DBG_LVL_ALL,
				"Currently Xaction is not allowed on the bus");
		return -EACCES;
	}

	if (psIntfAdapter->bSuspended == TRUE ||
	    psIntfAdapter->bPreparingForBusSuspend == TRUE) {
		BCM_DEBUG_PRINT(psIntfAdapter->psAdapter, DBG_TYPE_OTHERS, RDM,
	if (ad->bSuspended == TRUE || ad->bPreparingForBusSuspend == TRUE) {
		BCM_DEBUG_PRINT(ad->psAdapter, DBG_TYPE_OTHERS, RDM,
				DBG_LVL_ALL,
				"Bus is in suspended states hence RDM not allowed..");
		return -EACCES;
	}

	return 0;
}

int InterfaceRDM(struct bcm_interface_adapter *psIntfAdapter,
		unsigned int addr,
		void *buff,
		int len)
{
	int bytes;
	int err = 0;

	if (!psIntfAdapter)
		return -EINVAL;

	err = adapter_err_occurred(psIntfAdapter);
	if (err)
		return err;

	psIntfAdapter->psAdapter->DeviceAccess = TRUE;

	bytes = usb_control_msg(psIntfAdapter->udev,
@@ -63,31 +73,14 @@ int InterfaceWRM(struct bcm_interface_adapter *psIntfAdapter,
		int len)
{
	int retval = 0;
	int err = 0;

	if (!psIntfAdapter)
		return -EINVAL;

	if (psIntfAdapter->psAdapter->device_removed == TRUE) {
		BCM_DEBUG_PRINT(psIntfAdapter->psAdapter, DBG_TYPE_PRINTK, 0, 0,
				"Device got removed");
		return -ENODEV;
	}

	if ((psIntfAdapter->psAdapter->StopAllXaction == TRUE) &&
	    (psIntfAdapter->psAdapter->chip_id >= T3LPB)) {
		BCM_DEBUG_PRINT(psIntfAdapter->psAdapter, DBG_TYPE_OTHERS, WRM,
				DBG_LVL_ALL,
				"Currently Xaction is not allowed on the bus...");
		return -EACCES;
	}

	if (psIntfAdapter->bSuspended == TRUE ||
	    psIntfAdapter->bPreparingForBusSuspend == TRUE) {
		BCM_DEBUG_PRINT(psIntfAdapter->psAdapter, DBG_TYPE_OTHERS, WRM,
				DBG_LVL_ALL,
				"Bus is in suspended states hence RDM not allowed..");
		return -EACCES;
	}
	err = adapter_err_occurred(psIntfAdapter);
	if (err)
		return err;

	psIntfAdapter->psAdapter->DeviceAccess = TRUE;