Hi Ulf, On Fri, Jan 27, 2017 at 08:58:16AM +0100, Ulf Hansson wrote: > On 26 January 2017 at 09:07, Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote: > > On 24 January 2017 at 11:17, Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > >> The function mmc_blk_issue_rw_rq() is hopelessly convoluted and > >> need to be refactored to it can be understood by humans. > >> > >> In the process I found some weird magic return values passed > >> around for no good reason. > >> > >> Things are more readable after this. > >> > >> This work is done towards the goal of breaking the function in > >> two parts: one just submitting the requests and one checking the > >> result and possibly resubmitting the command on error, so we > >> can make the usual path (non-errorpath) smooth and quick, and > >> be called directly when the driver completes a request. > >> > >> That in turn is a prerequisite for proper blk-mq integration > >> with the MMC/SD stack. > >> > >> All that comes later. > >> > >> Linus Walleij (6): > >> mmc: block: break out mmc_blk_rw_cmd_abort() > >> mmc: block: break out mmc_blk_rw_start_new() > >> mmc: block: do not assign mq_rq when aborting command > >> mmc: block: inline command abortions > >> mmc: block: introduce new_areq and old_areq > >> mmc: block: stop passing around pointless return values > >> > >> drivers/mmc/core/block.c | 108 ++++++++++++++++++++++++++--------------------- > >> drivers/mmc/core/block.h | 2 +- > >> 2 files changed, 60 insertions(+), 50 deletions(-) > >> > >> -- > >> 2.9.3 > >> > > > > Thanks, applied for next! > > Linus, > > Seems like this series may have issues. I have looked at boot reports > from kernelci, and particular the reports for > https://kernelci.org/boot/sun7i-a20-bananapi/job/ulfh/ are > interesting. > > Apparently, this board has an SD card attached. There have been errors > reported in the log for a while when doing data transfers, although > none of these errors have triggered the kernelci to report a boot > error. > > However, I suspect that some of the changes in this series make it > worse. Perhaps because of a changed error handling the mmc block > layer!? > > Particular, look at the difference between these [1] boot logs, it > might give you some hints. I have also added Maxime to this thread, > perhaps he can help out with the sunxi mmc driver. We also had a patch on the pinctrl side in 4.10, whose side effects would be to disable the pull ups on some boards that have not been configuring their pins properly (while the previous behaviour was to keep what the bootloader set). That board seems to fall in that category. That behaviour has been reverted, and Linus merged it already, so it might be entirely unrelated to that serie. Maxime -- Maxime Ripard, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
Attachment:
signature.asc
Description: PGP signature