dump_stack();打印调用堆栈
mmc_blk_probe-->add_disk-->register_disk-->device_add-->put_device
/-->blkdev_get-->__blkdev_get-->rescan_partitions-->check_partition-->check_part[i]-->msdos_partition
/-->blkdev_put(终止) /
lockpage(有个sleep,此时执行了其他线程导致错误)<--read_cache_page_async<--read_mapping_page<--read_dev_sector<-/
mmc_rescan
mmc_attach_sd
mmc_sd_init_card
mmc_app_send_scr
...goldfish_mmc_request
mmc_release_host-->wake_up-->__wake_up-->__wake_up_common-->curr-->func
mmc_wait_for_req(mmc_host, mmc_request)——执行mmc_request,并等待其完成
mmc_start_request(mmc_host, mmc_request)——执行mmc_request
wait_for_completion(void *)——等待完成标记,mmc_request的完成标记是done_data
mmc_blk_issue_rq-->?(scatterlist导致的错误)-->mmc_wait_for_req(没有醒来)