]> git.baikalelectronics.ru Git - kernel.git/commit
wl1251: fix ELP_CTRL register reads
authorGrazvydas Ignotas <notasas@gmail.com>
Tue, 8 Jun 2010 11:33:31 +0000 (14:33 +0300)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 8 Jun 2010 13:31:21 +0000 (09:31 -0400)
commit52f8877c34e34b28ef44780b87170a1f99e13aba
tree4c46420f7a8ac9f0261205383489dea4b042d91c
parent5b5ec35d06b0f6b9f6e428c3b3178904e424ccfd
wl1251: fix ELP_CTRL register reads

Reading the ELP_CTRL register with sdio_readb causes problems because
hardware seems to be performing a write using stuff bits in the request
(those bits contain write data in write request). This indicates that it
actually expects RAW (read after write) type of request, so perform that
when reading ELP_CTRL instead. Also cache last written value so we know
what to write when doing RAW request.

Because of the above it was not possible to wake the chip from ELP power
saving mode, PM had to be disabled to have the driver usable in SDIO
mode. After this patch PM is functional.

For backporting to 2.6.34 or earlier, this patch depends on
e39f05ad9b8cd366a0e7bd342e0c5f287b917417, which adds the
required SDIO funcion.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Acked-by: Kalle Valo <kvalo@adurom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/wl12xx/wl1251_sdio.c