qlge: bugfix: Fix shadow register endian issue.
authorRon Mercer <ron.mercer@qlogic.com>
Mon, 5 Jan 2009 01:07:50 +0000 (17:07 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 5 Jan 2009 01:07:50 +0000 (17:07 -0800)
commit2b72c7849f9a091c1e5d7255732faf14ac7d5123
tree50abd7531683f201cb45a650d9128c3afefa8216
parent4055c7d495f2502718bbbea871e6504ae95add14
qlge: bugfix: Fix shadow register endian issue.

Shadow registers are consistent memory locations to which the chip
echos ring indexes in little endian format.  These values need to
be endian swapped before referencing.

Note:
The register pointer declaration uses the volatile modifier which
causes warnings in checkpatch.
Per Documentation/volatile-considered-harmful.txt:
  - Pointers to data structures in coherent memory which might be modified
    by I/O devices can, sometimes, legitimately be volatile.  A ring buffer
    used by a network adapter, where that adapter changes pointers to
    indicate which descriptors have been processed, is an example of this
    type of situation.

Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/qlge/qlge.h
drivers/net/qlge/qlge_main.c