Re: Unhandled prefetch abort when probing USB flash drive

From: Russell King (Oracle)
Date: Tue Dec 14 2021 - 06:21:09 EST


On Tue, Dec 14, 2021 at 05:13:20AM +0000, Joshua Scott wrote:
> Hi,
>
> I have been running into a kernel panic when probing a USB flash drive, and was after some advice or suggestions on what might be going wrong.
>
> First up, the details of my setup:
> * Initially seen on Linux 5.7.19, but I've tested on a vanilla copy of Linux 5.15.0 without any extra modules, and the panic still occurs.
> * Flash drive (lsusb): Bus 001 Device 002: ID 1005:b113 Apacer Technology, Inc. Handy Steno 2.0/HT203
> * Our system is based on the Marvell 98DX323x SoC (Arm v7, based on the Armada 370/XP)

Does it work with any kernel? If it doesn't, then I would suspect a
hardware bug, power supply glitch, or a SDRAM timing issue.

Why? These seem somewhat random and spurious. In the example prefetch
abort, it's weird on two accounts:

1) "external abort on non-linefetch" means that we weren't accessing
cached memory, but the kernel is always in cached memory.
2) prefetch abort means the instruction stream failed to read from
this location, but we later see in the Code: line that we have been
able to read the instructions into the data cache.

If the system runs fine without the flash drive attached, I would
suggest it's a power issue. I would suggest trying with an externally
powered USB hub, so the hub sources the power for the flash drive and
see whether that makes a difference.

--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!