Browse Source

PCI hotplug: fix logic in Compaq hotplug controller bus speed setup

The pattern !E && !E->fld is nonsensical.  The patch below updates this
according to the assumption that && should be ||.  But perhaps another
solution was intended.

The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@disable and_comm@
expression E;
identifier fld;
@@

- !E && !E->fld
+ !E || !E->fld
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Reviewed-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Julia Lawall 16 years ago
parent
commit
05a34f51ba
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/pci/hotplug/cpqphp_ctrl.c

+ 1 - 1
drivers/pci/hotplug/cpqphp_ctrl.c

@@ -1139,7 +1139,7 @@ static u8 set_controller_speed(struct controller *ctrl, u8 adapter_speed, u8 hp_
 	for(slot = ctrl->slot; slot; slot = slot->next) {
 	for(slot = ctrl->slot; slot; slot = slot->next) {
 		if (slot->device == (hp_slot + ctrl->slot_device_offset)) 
 		if (slot->device == (hp_slot + ctrl->slot_device_offset)) 
 			continue;
 			continue;
-		if (!slot->hotplug_slot && !slot->hotplug_slot->info) 
+		if (!slot->hotplug_slot || !slot->hotplug_slot->info)
 			continue;
 			continue;
 		if (slot->hotplug_slot->info->adapter_status == 0) 
 		if (slot->hotplug_slot->info->adapter_status == 0) 
 			continue;
 			continue;