bcma: fix invalid PMU chip control masks
commit1f03bf06e4e3b8ed9a69e7fc4cdb1be4c6c6c819
authorHauke Mehrtens <hauke@hauke-m.de>
Wed, 25 Jul 2012 21:08:54 +0000 (25 23:08 +0200)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 26 Jul 2012 19:46:54 +0000 (26 12:46 -0700)
treeec28dd77c22c394e445e407202f1117f5a2a1c07
parentb84382f5141875230b7c55eb29443596fd2d8d53
bcma: fix invalid PMU chip control masks

Commit b9562545ef0b ("bcma: complete workaround for BCMA43224 and
BCM4313") introduced the wrong masks for setting the chip control
registers - the "mask" parameter is inverse.

It should be the mask of bits *not* changed, which is admittedly a bit
non-intuitive.

The incorrect mask not only causes the driver to not work correctly on
the chips affected (eg the BCM43224 on the Macbook Air 4,2) but the
state persists over a soft reset, causing the next boot to not
necessarily see the device correctly.

Reported-and-tested-by: Linus Torvalds <torvalds@linux-foundation.org>
Tested-by: Seth Forshee <seth.forshee@canonical.com>
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Cc: Arend Van Spriel <arend@broadcom.com>
Cc: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Cc: Brett Rudley <brudley@broadcom.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/bcma/driver_chipcommon_pmu.c