Closed n-aizu closed 10 years ago
Hello Naoki-san,
Thanks for the great bug report and sorry for the delayed response.
Unfortunately, we don't have a simple answer for this and it's going to require some re-structuring. I started a discussion in i.MX Community to solicit feedback from others: https://community.freescale.com/message/407745
Hello Naoki,
The reply from the Freescale team is that the "usleep_range" call should be replaced with one of the delay routines.
Can you change this usleep_range() call to udelay(1000)? https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_3.10.17_1.0.0_ga/drivers/pci/host/pci-imx6.c#L494
Hello Eric,
Thank you for your reply. I change usleep_range() call to udelay(1000) and test it more than ten times. It works fine.
Test environmet: BD-SL-i.MX6 + Nit6X_PCIE + Intel Centrino Advanced-N 6205(Mini PCI-E Half)
Best Regards,
Naoki Aizu
Thanks Naoki Aizu.
usleep_range is called in atomic context at imx6_pcie_link_up. (branch: boundary-imx_3.10.17_1.0.0_ga)
Lock held at pci_bus_write_config_word.