block driver problem
I am writting a custom block driver for sd mem card in which there is need to call the add_disk api based on some event (like when card is inserted in to the host) for that i am using the workqueue from where i am calling the add_disk after getting card insertion signal from sd host .
the problem i am facing is as soon as i am calling the add_disk from workqueue the request queue function is getting invoked and after satisfying all the request from the request queue any code that is written after the add_disk in the workqueu is not getting invoked (i mean to say is control is not going back to the workqueue )
i tried to find about it on google but i didn't get any success in that .
any kind of help is appreciated as i am unable to figure out why this is happening .
The usual suggestion here is, look at what similar drivers are doing. Source code for many should be available to you for review and "borrowing" as necessary, assuming you adhere to the usual license strictures that apply.