Rpi3: no ethernet in 4.13: bisected to patch 'USB: of: fix root-hub device-tree node handling'

Robin Murphy robin.murphy at arm.com
Wed Aug 2 04:43:01 PDT 2017

On 02/08/17 12:10, Stefan Wahren wrote:
> Am 02.08.2017 um 09:03 schrieb Hans Verkuil:
>> When testing with my Raspberry Pi 3 and the 4.13-rcX mainline kernel
>> I discovered that there was no ethernet. After bisecting I got to commit
>> 2bf69867 ('USB: of: fix root-hub device-tree node handling').
>> With that commit lsusb outputs:
>> rpi3: ~ # lsusb
>> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
>> After reverting just that commit (I'm on 4.13-rc3 now) ethernet is
>> restored and lsusb gives me:
>> rpi3: ~ $ lsusb
>> Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
>> Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
>> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
>> I don't speak USB, so I have no idea why this patch causes these issues,
>> but I am happy to test patches.
> Thanks for finding.
> Just a note, Andreas Färber also found a regression in 4.13-rc1, which
> is related to USB & DMA [1].
> Unfortunately i wasn't able to bisect this issue. I think it's related
> to the configuration.

OK, so from the look of 2bf69867, whatever struct device dwc2 is calling
dma_set_mask() on is not the same one as ends up getting used for DMA
API calls. That in itself is a bug, but whether it's dwc2's or the USB
core's fault I don't know enough to say.

I'd guess that previously, either the DMA device was the correct one, or
was happening to work due to not having an associated of_node for
of_dma_configure() to pick up on and reduce the default 32-bit DMA mask
to the smaller once generated from the "dma-ranges" property.

The fact that of_dma_configure() incorrectly generates a 30-bit DMA mask
from the Rpi3 "dma-ranges" in the first place is an unrelated problem
(which I'm working on) but has at least helped reveal this bug ;)


> [1] -
> http://lists.infradead.org/pipermail/linux-rpi-kernel/2017-July/006658.html
>> Regards,
>> 	Hans
>> _______________________________________________
>> linux-rpi-kernel mailing list
>> linux-rpi-kernel at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-rpi-kernel

More information about the linux-rpi-kernel mailing list