I would like to know who wakes the kthread daemon up, when a read from the SD card is done using vfs_read. According to the code flow the kthreadd will wake up the mmcqd (mmc_queue_thread) which will process the read/write requests to the SD driver.

The issue I am facing here is although the vfs_read to the SD card is called by the USB Mass Storage driver, the read does not proceed to the mmc_queue_thread. This leads to old contents of the SD card being shown on PC.