forked from Minki/linux
Staging: bcm: InterfaceMisc.c: Outsourced doubled error checking
Signed-off-by: Matthias Beyer <mail@beyermatthias.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
8e7e2805ef
commit
40e61d1279
@ -1,36 +1,46 @@
|
||||
#include "headers.h"
|
||||
|
||||
static int adapter_err_occurred(const struct bcm_interface_adapter *ad)
|
||||
{
|
||||
if (ad->psAdapter->device_removed == TRUE) {
|
||||
BCM_DEBUG_PRINT(ad->psAdapter, DBG_TYPE_PRINTK, 0, 0,
|
||||
"Device got removed");
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
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 (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;
|
||||
|
||||
if (psIntfAdapter->psAdapter->device_removed == TRUE) {
|
||||
BCM_DEBUG_PRINT(psIntfAdapter->psAdapter, DBG_TYPE_PRINTK, 0, 0,
|
||||
"Device got removed");
|
||||
return -ENODEV;
|
||||
}
|
||||
err = adapter_err_occurred(psIntfAdapter);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
if ((psIntfAdapter->psAdapter->StopAllXaction == TRUE) &&
|
||||
(psIntfAdapter->psAdapter->chip_id >= T3LPB)) {
|
||||
BCM_DEBUG_PRINT(psIntfAdapter->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,
|
||||
DBG_LVL_ALL,
|
||||
"Bus is in suspended states hence RDM not allowed..");
|
||||
return -EACCES;
|
||||
}
|
||||
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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user