[PATCH RESEND 0/2]: ixp4xx: Fix 3.7 regression for IXP4xx ethernet driver

Simon Kågström simon.kagstrom at netinsight.net
Mon Mar 17 05:54:48 EDT 2014


These two patches fixes the regression introduced in 3.7 by commit

  ixp4xx_eth: avoid calling dma_pool_create() with NULL dev

The patch above is not incorrect itself, but causes the driver to fail

  [   33.055473] net eth1: coherent DMA mask is unset
  [   33.055523] net eth1: coherent allocation too big (requested 0x1000 mask 0x0)

The two patches fix this by generalizing and correcting the ixp4xx
dma_set_coherent_mask(), which earlier only dealt with the PCI case.
The second patch simply sets up the mask for the ixp4xx ethernet device.

The patches have been verified on a board with 256MiB memory, one
ipx4xx_eth device and a e100 PCI device, running Linus' tip.

This issue has been discussed before:


This is a resend of the patch series. There was some discussion about it here:


and if I understand Russels comments (as per the documentation),
drivers should setup the coherent DMA mask even if it happens to be the
platform/CPU default.

// Simon

More information about the linux-arm-kernel mailing list