Messages in this thread Patch in this message | | | Date | Sun, 26 Feb 2006 22:16:51 +0100 | From | Adrian Bunk <> | Subject | [2.6 patch] drivers/pci/hotplug/cpqphp_ctrl.c: board_replaced(): remove dead code |
| |
he 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>
---
drivers/pci/hotplug/cpqphp_ctrl.c | 76 +++++------------------------- 1 file changed, 14 insertions(+), 62 deletions(-)
--- linux-2.6.16-rc4-mm2-full/drivers/pci/hotplug/cpqphp_ctrl.c.old 2006-02-26 19:01:10.000000000 +0100 +++ linux-2.6.16-rc4-mm2-full/drivers/pci/hotplug/cpqphp_ctrl.c 2006-02-26 19:07:44.000000000 +0100 @@ -1282,9 +1282,7 @@ u8 hp_slot; u8 temp_byte; u8 adapter_speed; - u32 index; u32 rc = 0; - u32 src = 8; hp_slot = func->device - ctrl->slot_device_offset; @@ -1368,68 +1366,17 @@ rc = cpqhp_configure_board(ctrl, func); - if (rc || src) { - /* 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); - - 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 */ + /* 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); - 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); @@ -1437,7 +1384,12 @@ wait_for_ctrl_irq (ctrl); mutex_unlock(&ctrl->crit_sect); - rc = 0; + + if (rc) + return rc; + else + return 1; + } else { /* Something is wrong - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |