[PATCH] SGI Hotplug: Incorrect power status
authorMike Habeck <habeck@sgi.com>
Sat, 6 May 2006 14:01:59 +0000 (09:01 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 19 Jun 2006 21:13:23 +0000 (14:13 -0700)
This is a repost of a patch submitted by Prarit Bhargava on 01-19-06 that
never got integrated.

The get_power_status function is currently reporting a bitwise mapping of
the slot if the slot is powered on.  It should return 1 if powered on and
0 if powered off.

Signed-off-by: Mike Habeck <habeck@sgi.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/pci/hotplug/sgi_hotplug.c

index cfee9db52c4908e0825e0223cdb2b663b3a992d7..f31d83c2c633c678d040190ff57b2f7246cce626 100644 (file)
@@ -461,10 +461,12 @@ static inline int get_power_status(struct hotplug_slot *bss_hotplug_slot,
 {
        struct slot *slot = bss_hotplug_slot->private;
        struct pcibus_info *pcibus_info;
+       u32 power;
 
        pcibus_info = SN_PCIBUS_BUSSOFT_INFO(slot->pci_bus);
        mutex_lock(&sn_hotplug_mutex);
-       *value = pcibus_info->pbi_enabled_devices & (1 << slot->device_num);
+       power = pcibus_info->pbi_enabled_devices & (1 << slot->device_num);
+       *value = power ? 1 : 0;
        mutex_unlock(&sn_hotplug_mutex);
        return 0;
 }