Re: [PATCH 1/2] smc91x: always use 8-bit access if necessary

From: Russell King - ARM Linux
Date: Thu Aug 25 2016 - 18:50:01 EST


On Thu, Aug 25, 2016 at 04:46:20PM +0200, Arnd Bergmann wrote:
> +#define SMC_out16(x, ioaddr, reg) \
> +do { \
> + if (SMC_CAN_USE_8BIT && !SMC_16BIT(lp)) { \
> + unsigned int __val16 = (x); \
> + SMC_outb(__val16, ioaddr, reg ); \
> + SMC_outb(__val16 >> 8, ioaddr, reg + (1 << SMC_IO_SHIFT)); \
> + } else { \
> + SMC_outw(x, ioaddr, reg); \
> + } \

This is insufficient. If you look at how SMC_REG works, you'll notice
that it has side effects which can disrupt other accesses (it reads
the bank register if debugging is enabled.)

In any case, please wait for my tested patch for this.

--
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.