[2.6 patch] drivers/pci/hotplug/cpqphp_ctrl.c: board_replaced(): remove dead code

From: Adrian Bunk
Date: Sun Feb 26 2006 - 16:14:35 EST


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@xxxxxxxxx>

---

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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/