[U-Boot] [PATCH 0/3] While converting SATA on Apalis iMX6 to use driver model I noticed it

Marcel Ziswiler marcel at ziswiler.com
Thu Jan 24 14:29:54 UTC 2019


crashing in case no SATA driver is actually there:

Apalis iMX6 # sata init
data abort
pc : [<8ff78e1a>]          lr : [<8ff78e1b>]
reloc pc : [<1781be1a>]    lr : [<1781be1b>]
sp : 8df53068  ip : 00000001     fp : 00000002
r10: 8df612e8  r9 : 8df5ceb0     r8 : 8ffc2b28
r7 : 8ff746ed  r6 : 00000000     r5 : 68abf82a  r4 : 00000000
r3 : 8ff73d39  r2 : c0000000     r1 : 00000000  r0 : 0000000c
Flags: nzcv  IRQs off  FIQs off  Mode SVC_32
Code: 47700025 6803b570 6bdd4604 f0254805 (68abf82a)
Resetting CPU ...

resetting ...

Investigating this I identified 3 places where no proper checking is
done.

This patch set adds such checks leading to a graceful error instead:

Apalis iMX6 # sata init
Cannot probe SATA device 0 (err=-19)


Marcel Ziswiler (3):
  dm: device: fail uclass_find_first_device() if list_empty
  dm: sata: add null pointer check for dev
  cmd: sata: add null pointer check for dev

 cmd/sata.c            |  4 ++++
 drivers/ata/sata.c    | 27 +++++++++++++++++++++------
 drivers/core/uclass.c |  2 +-
 3 files changed, 26 insertions(+), 7 deletions(-)

-- 
2.20.1



More information about the U-Boot mailing list