Messages in this thread | | | From | Haiyang Zhang <> | Subject | RE: [PATCH 1/1] staging: hv: Fix race condition on IC channel initialization (modified) | Date | Wed, 26 May 2010 22:52:36 +0000 |
| |
> From: Greg KH [mailto:gregkh@suse.de] > How about a lock! > > What's so scary about a pretty little semaphore? They are all cute and > cuddley and don't bite anyone. You should not be afraid to use them, > they are here to do your bidding.
No problem, we will add a lock here.
> > The VmbusChannelProcessOffer() is called from interrupt context, and > > initialize the channels, wake up vmbus_init when all channels are > > ready. If using local variable only, how to pass the channel ready > > info to vmbus_init() which is in a different context? > > No, I mean move the logic you added here, into the vmbus_init() call.
Do you mean: Move the event creat/wait/free, which is currently in vmbus_init(), into vmbus_bus_init() function. hv_channle_ready will still be a global variable. And, the wakeup call -- osd_WaitEventSet() --remains in VmbusChannelProcessOffer() ?
Thanks,
- Haiyang
| |