[PATCH 0/2] [S/master-next] [SRU] imx6: sata fixes

Paolo Pisati paolo.pisati at canonical.com
Tue Oct 15 11:45:51 UTC 2013


BugLink: https://bugs.launchpad.net/bugs/1240038

SRU Justification:

Impact:

/dev/sda doesn't show up on imx6 board and while support for the sata controller was
submitted upstream[1], we were missing a dts snippet that didn't make the 3.11
window (but entered as part of 3.12, thus i cherry-picked plus some mechanical
modification to make it apply).

Moreover, building this driver as a module triggers an error when loading:

[ 3.447345] sysfs: cannot create duplicate filename '/bus/platform/devices/ahci'
[ 3.454799] Modules linked in: ahci_imx(F+) xor(F+) zlib_deflate(F) libcrc32c(F)
[ 3.462343] CPU: 0 PID: 193 Comm: modprobe Tainted: GF 3.11.0-13-generic #20~imx6sata
[ 3.471223] [<c001dd70>] (unwind_backtrace+0x0/0x138) from [<c00184dc>] (show_stack+0x10/0x14)
[ 3.479916] [<c00184dc>] (show_stack+0x10/0x14) from [<c065c710>] (dump_stack+0x74/0x90)
[ 3.488040] [<c065c710>] (dump_stack+0x74/0x90) from [<c004e2fc>] (warn_slowpath_common+0x68/0x8c)
[ 3.497066] [<c004e2fc>] (warn_slowpath_common+0x68/0x8c) from [<c004e3b4>] (warn_slowpath_fmt+0x30/0x40)
[ 3.498634] 32regs : 709.200 MB/sec
[ 3.498640] xor: using function: arm4regs (1087.600 MB/sec)
[ 3.516510] [<c004e3b4>] (warn_slowpath_fmt+0x30/0x40) from [<c01a901c>] (sysfs_add_one+0x84/0xa4)
[ 3.525557] [<c01a901c>] (sysfs_add_one+0x84/0xa4) from [<c01a9c20>] (sysfs_do_create_link_sd+0xd0/0x200)
[ 3.535207] [<c01a9c20>] (sysfs_do_create_link_sd+0xd0/0x200) from [<c03bb5a8>] (bus_add_device+0xc4/0x17c)
[ 3.545004] [<c03bb5a8>] (bus_add_device+0xc4/0x17c) from [<c03b98d8>] (device_add+0x38c/0x668)
[ 3.553770] [<c03b98d8>] (device_add+0x38c/0x668) from [<c03bdc3c>] (platform_device_add+0xbc/0x258)
[ 3.562958] [<c03bdc3c>] (platform_device_add+0xbc/0x258) from [<bf01234c>] (imx_ahci_probe+0x17c/0x1e8 [ahci_imx])
[ 3.573456] [<bf01234c>] (imx_ahci_probe+0x17c/0x1e8 [ahci_imx]) from [<c03bd7a8>] (platform_drv_probe+0x18/0x1c)
[ 3.583774] [<c03bd7a8>] (platform_drv_probe+0x18/0x1c) from [<c03bc378>] (driver_probe_device+0x130/0x374)
[ 3.593562] [<c03bc378>] (driver_probe_device+0x130/0x374) from [<c03ba718>] (bus_for_each_drv+0x44/0x8c)
[ 3.603174] [<c03ba718>] (bus_for_each_drv+0x44/0x8c) from [<c03bc1dc>] (device_attach+0x70/0x88)
[ 3.612093] [<c03bc1dc>] (device_attach+0x70/0x88) from [<c03bb6e4>] (bus_probe_device+0x84/0xa8)
[ 3.621018] [<c03bb6e4>] (bus_probe_device+0x84/0xa8) from [<c03b992c>] (device_add+0x3e0/0x668)
[ 3.629853] [<c03b992c>] (device_add+0x3e0/0x668) from [<c03bdc3c>] (platform_device_add+0xbc/0x258)
[ 3.639031] [<c03bdc3c>] (platform_device_add+0xbc/0x258) from [<bf01234c>] (imx_ahci_probe+0x17c/0x1e8 [ahci_imx])
[ 3.649509] [<bf01234c>] (imx_ahci_probe+0x17c/0x1e8 [ahci_imx]) from [<c03bd7a8>] (platform_drv_probe+0x18/0x1c)
[ 3.659810] [<c03bd7a8>] (platform_drv_probe+0x18/0x1c) from [<c03bc378>] (driver_probe_device+0x130/0x374)
[ 3.669588] [<c03bc378>] (driver_probe_device+0x130/0x374) from [<c03bc648>] (__driver_attach+0x8c/0x90)
[ 3.679106] [<c03bc648>] (__driver_attach+0x8c/0x90) from [<c03ba7b4>] (bus_for_each_dev+0x54/0x88)
[ 3.688175] [<c03ba7b4>] (bus_for_each_dev+0x54/0x88) from [<c03bb914>] (bus_add_driver+0xe8/0x260)
[ 3.697266] [<c03bb914>] (bus_add_driver+0xe8/0x260) from [<c03bcb44>] (driver_register+0x78/0x14c)
[ 3.706353] [<c03bcb44>] (driver_register+0x78/0x14c) from [<c0008814>] (do_one_initcall+0xe0/0x198)
[ 3.715532] [<c0008814>] (do_one_initcall+0xe0/0x198) from [<c00a9844>] (load_module+0x1074/0x1778)
[ 3.724617] [<c00a9844>] (load_module+0x1074/0x1778) from [<c00aa004>] (SyS_init_module+0xbc/0x120)
[ 3.733707] [<c00aa004>] (SyS_init_module+0xbc/0x120) from [<c00146c0>] (ret_fast_syscall+0x0/0x30)
[ 3.742781] ---[ end trace 17860721d4bad439 ]---
[ 3.748403] ahci-imx: probe of ahci failed with error -17
[ 3.763773] Request for unknown module key 'Magrathea: Glacier signing key: ec957d9a18384eacadf7527998f7b9343803c433' err -11
[ 3.768979] platform ahci: failed to claim resource 0
[ 3.769006] ahci-imx: probe of ahci failed with error -16

as it appears it's the same driver that tries to create the same sysfile
multiple times, failing:

root at ubuntu-desktop:~# cat /sys/bus/platform/devices/ahci/uevent
OF_NAME=sata
OF_FULLNAME=/soc/sata at 02200000
OF_COMPATIBLE_0=fsl,imx6q-ahci
OF_COMPATIBLE_N=1
MODALIAS=of:NsataT<NULL>Cfsl,imx6q-ahci

Statically compiling support for AHCI_IMX works workaround this problem
(and all the other kernel supporting this board - indeed - compile this
driver statically BTW), so until a proper fix is found, i propose to compile
it in.

Fix:

apply the two patches below

Testcase:

compile a patched kernel and boot it

[1] http://www.spinics.net/lists/linux-ide/msg45823.html

Paolo Pisati (1):
  UBUNTU: [Config] AHCI_IMX=y

Richard Zhu (1):
  ARM: dtsi: enable ahci sata on imx6q platforms

 arch/arm/boot/dts/imx6q-sabreauto.dts                  | 4 ++++
 arch/arm/boot/dts/imx6q-sabrelite.dts                  | 4 ++++
 arch/arm/boot/dts/imx6q-sabresd.dts                    | 4 ++++
 arch/arm/boot/dts/imx6q.dtsi                           | 9 +++++++++
 debian.master/abi/3.11.0-12.19/armhf/generic.modules   | 2 --
 debian.master/config/amd64/config.common.amd64         | 2 ++
 debian.master/config/armhf/config.flavour.generic      | 2 ++
 debian.master/config/armhf/config.flavour.generic-lpae | 2 ++
 debian.master/config/config.common.ubuntu              | 2 --
 debian.master/config/i386/config.common.i386           | 2 ++
 10 files changed, 29 insertions(+), 4 deletions(-)

-- 
1.8.3.2





More information about the kernel-team mailing list