[PATCH] SHPC: Fix SHPC Logical Slot Register bits access
authorKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Tue, 2 May 2006 02:11:54 +0000 (11:11 +0900)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 19 Jun 2006 21:13:23 +0000 (14:13 -0700)
commit795eb5c4a73bee30e8c2dbb29174b329da56051c
tree2c489f1f647d46cdc29322839d766cbf37d55485
parent5858759c2098c6792af1afa6d5ded94044740f9c
[PATCH] SHPC: Fix SHPC Logical Slot Register bits access

Current SHPCHP driver doesn't take care of RsvdP/RsvdZ[*] bits
in logical slot registers. This might cause unpredicable results. This
patch fixes this bug.

[*] RsvdP and RsvdZ are defined in SHPC spec as follows:

    RsvdP - Reserved and Preserved. Register bits of this type are
    reserved for future use as R/W bits. The value read is
    undefined. Writes are ignored. Software must follow These rules
    when accessing RsvdP bits:

- Software must ignore RsvdP bits when testing values read
          from these registers.
- Software must not depend on RsvdP bit's ability to retain
          information when written
- Software must always write back the value read in the RsvdP
  bits when writing one of these registers.

    RsvdZ - Reserved and Zero. Register bits of this type are reserved
    for future use as R/WC bits. The value read is undefined. Writes
    are ignored. Software must follow these rules when accessing RsvdZ
    bits:

        - Software must ignore RsvdZ bits when testing values read
  from these registers.
- Software must not depends on a RsvdZ bit's ability to retain
  information when written.
- Software must always write 0 to RsvdZ bits when writing one
  of these register.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Cc: Kristen Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/pci/hotplug/shpchp_hpc.c