As discussed earlier, this gets rid of the osd_schedule_callback which is unneeded abstraction and inefficient. This also fixes the sleeping while atomic issue which could happen due to bad usage of osd_schedule_callback. Patches are compile tested only. Especially patch #2 needs review on the assumption I made that rescind work cannot be pending while free_channel is called. Timo TerÃs (3): staging: hv: convert VmbusOnMsgDPC to not call osd_schedule_callback staging: hv: convert channel_mgmt.c to not use osd_schedule_callback staging: hv: remove unneeded osd_schedule_callback drivers/staging/hv/channel_mgmt.c | 56 +++++++++++++++++++----------------- drivers/staging/hv/channel_mgmt.h | 1 + drivers/staging/hv/osd.c | 34 ---------------------- drivers/staging/hv/osd.h | 4 -- drivers/staging/hv/vmbus.c | 27 ++++++++++++++---- 5 files changed, 52 insertions(+), 70 deletions(-) _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel