pnpacpi: fix IRQ flag decoding
authorBjorn Helgaas <bjorn.helgaas@hp.com>
Mon, 9 Jun 2008 23:52:04 +0000 (16:52 -0700)
committerLen Brown <len.brown@intel.com>
Wed, 11 Jun 2008 23:13:46 +0000 (19:13 -0400)
commite9fe9e188118a0a34c6200d9b10ea6247f53592d
tree151fb9549cefbcf7a8f7e1d591c99381d2c9802c
parent0638bc8dc037d844efe1d4abf44488c037705905
pnpacpi: fix IRQ flag decoding

When decoding IRQ trigger mode and polarity, it is not enough to mask by
IORESOURCE_BITS because there are now additional bits defined.  For
example, if IORESOURCE_IRQ_SHAREABLE was set, we failed to set *triggering
and *polarity at all.

I can't point to a failure that this patch fixes, but
bugs in this area have caused problems when resuming after
suspend, for example:

    http://bugzilla.kernel.org/show_bug.cgi?id=6316
    http://bugzilla.kernel.org/show_bug.cgi?id=9487
    https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/152187

This is based on a patch by Tom Jaeger:
    http://bugzilla.kernel.org/show_bug.cgi?id=9487#c32

[rene.herman@keyaccess.nl: fix comment]
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/pnp/pnpacpi/rsparser.c
include/linux/ioport.h