via-velocity: don't annotate MAC registers as packed
authorUlrich Hecht <uli@suse.de>
Wed, 25 May 2011 01:07:22 +0000 (01:07 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 25 May 2011 21:55:32 +0000 (17:55 -0400)
commitd10358de8d70aaeb965a974d56e9b72f6c6dbb3a
treeaab8f6c7a38cf1228866ea844aea44e4e823fd36
parent1ba37c518f8f83094209396c65a72732b2c1df3b
via-velocity: don't annotate MAC registers as packed

On ARM, memory accesses through packed pointers behave in unexpected
ways in GCC releases 4.3 and higher; see https://lkml.org/lkml/2011/2/2/163
for discussion.

In this particular case, 32-bit I/O registers are accessed bytewise,
causing incorrect setting of the DMA address registers which in turn
leads to an error interrupt storm that brings the system to a halt.

Since the mac_regs structure does not need any packing anyway, this patch
simply removes the attribute to fix the issue.

Signed-off-by: Ulrich Hecht <uli@suse.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/via-velocity.h