[PATCH] PCI: cpqphp_ctrl.c: board_replaced(): remove dead code
The Coverity checker correctly noted, that in function board_replaced in drivers/pci/hotplug/cpqphp_ctrl.c, the variable src always has the value 8, and therefore much code after the ... if (rc || src) { ... if (rc) return rc; else return 1; } ... can never be called. This patch removes the unreachable code in this function fixing kernel Bugzilla #6073. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
0cccd0c206
commit
1305e9184a
|
@ -1282,9 +1282,7 @@ static u32 board_replaced(struct pci_func *func, struct controller *ctrl)
|
||||||
u8 hp_slot;
|
u8 hp_slot;
|
||||||
u8 temp_byte;
|
u8 temp_byte;
|
||||||
u8 adapter_speed;
|
u8 adapter_speed;
|
||||||
u32 index;
|
|
||||||
u32 rc = 0;
|
u32 rc = 0;
|
||||||
u32 src = 8;
|
|
||||||
|
|
||||||
hp_slot = func->device - ctrl->slot_device_offset;
|
hp_slot = func->device - ctrl->slot_device_offset;
|
||||||
|
|
||||||
|
@ -1368,68 +1366,17 @@ static u32 board_replaced(struct pci_func *func, struct controller *ctrl)
|
||||||
|
|
||||||
rc = cpqhp_configure_board(ctrl, func);
|
rc = cpqhp_configure_board(ctrl, func);
|
||||||
|
|
||||||
if (rc || src) {
|
/* If configuration fails, turn it off
|
||||||
/* If configuration fails, turn it off
|
* Get slot won't work for devices behind
|
||||||
* Get slot won't work for devices behind
|
* bridges, but in this case it will always be
|
||||||
* bridges, but in this case it will always be
|
* called for the "base" bus/dev/func of an
|
||||||
* called for the "base" bus/dev/func of an
|
* adapter. */
|
||||||
* adapter. */
|
|
||||||
|
|
||||||
mutex_lock(&ctrl->crit_sect);
|
|
||||||
|
|
||||||
amber_LED_on (ctrl, hp_slot);
|
|
||||||
green_LED_off (ctrl, hp_slot);
|
|
||||||
slot_disable (ctrl, hp_slot);
|
|
||||||
|
|
||||||
set_SOGO(ctrl);
|
|
||||||
|
|
||||||
/* Wait for SOBS to be unset */
|
|
||||||
wait_for_ctrl_irq (ctrl);
|
|
||||||
|
|
||||||
mutex_unlock(&ctrl->crit_sect);
|
|
||||||
|
|
||||||
if (rc)
|
|
||||||
return rc;
|
|
||||||
else
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
func->status = 0;
|
|
||||||
func->switch_save = 0x10;
|
|
||||||
|
|
||||||
index = 1;
|
|
||||||
while (((func = cpqhp_slot_find(func->bus, func->device, index)) != NULL) && !rc) {
|
|
||||||
rc |= cpqhp_configure_board(ctrl, func);
|
|
||||||
index++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (rc) {
|
|
||||||
/* If configuration fails, turn it off
|
|
||||||
* Get slot won't work for devices behind
|
|
||||||
* bridges, but in this case it will always be
|
|
||||||
* called for the "base" bus/dev/func of an
|
|
||||||
* adapter. */
|
|
||||||
|
|
||||||
mutex_lock(&ctrl->crit_sect);
|
|
||||||
|
|
||||||
amber_LED_on (ctrl, hp_slot);
|
|
||||||
green_LED_off (ctrl, hp_slot);
|
|
||||||
slot_disable (ctrl, hp_slot);
|
|
||||||
|
|
||||||
set_SOGO(ctrl);
|
|
||||||
|
|
||||||
/* Wait for SOBS to be unset */
|
|
||||||
wait_for_ctrl_irq (ctrl);
|
|
||||||
|
|
||||||
mutex_unlock(&ctrl->crit_sect);
|
|
||||||
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
/* Done configuring so turn LED on full time */
|
|
||||||
|
|
||||||
mutex_lock(&ctrl->crit_sect);
|
mutex_lock(&ctrl->crit_sect);
|
||||||
|
|
||||||
green_LED_on (ctrl, hp_slot);
|
amber_LED_on (ctrl, hp_slot);
|
||||||
|
green_LED_off (ctrl, hp_slot);
|
||||||
|
slot_disable (ctrl, hp_slot);
|
||||||
|
|
||||||
set_SOGO(ctrl);
|
set_SOGO(ctrl);
|
||||||
|
|
||||||
|
@ -1437,7 +1384,12 @@ static u32 board_replaced(struct pci_func *func, struct controller *ctrl)
|
||||||
wait_for_ctrl_irq (ctrl);
|
wait_for_ctrl_irq (ctrl);
|
||||||
|
|
||||||
mutex_unlock(&ctrl->crit_sect);
|
mutex_unlock(&ctrl->crit_sect);
|
||||||
rc = 0;
|
|
||||||
|
if (rc)
|
||||||
|
return rc;
|
||||||
|
else
|
||||||
|
return 1;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
/* Something is wrong
|
/* Something is wrong
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue