Hi Johannes, > -----Original Message----- > From: linux-wireless-owner@xxxxxxxxxxxxxxx [mailto:linux-wireless-owner@xxxxxxxxxxxxxxx] On Behalf Of > Johannes Berg > Sent: Wednesday, March 23, 2011 12:18 PM > To: Bing Zhao > Cc: linux-wireless@xxxxxxxxxxxxxxx; John W. Linville; Nishant Sarmukadam; Amitkumar Karwar; Kiran > Divekar; Yogesh Powar; Marc Yang; Ramesh Radhakrishnan; Frank Huang > Subject: RE: [PATCH v3] wireless: mwifiex: initial commit for Marvell mwifiex driver > > Hey, > > > > In iwlwifi, we just have iwl_send_cmd_sync(), which does all the wait. > > > That also has the added benefit that the wait queue doesn't need to be > > > dynamically allocated, it can just be on the stack. Also, your dynamic > > > allocations for that don't really seem to require GFP_ATOMIC in most > > > places, but that's probably the least of the worries here. > > > > I will study the iwl_send_cmd_sync() implementation. And have mwifiex > > use the same way to send commands as iwlwifi driver does. > > I'm not saying that you need to do that exactly in the same way. It's > just that allocating the wait queue dynamically and then passing it > across a few functions seems to bloat the code and I also think it's > more error prone. Thank you for the clarification. > > Are there any asynchronous commands at all anyway? Yes. There are a couple synchronous commands. I think I can implement two functions for sending the commands. One for synchronous commands and the other for asynchronous commands Thanks, Bing ÿô.nÇ·®+%˱é¥wÿº{.nÇ·¥{±ÿ«zW¬³ø¡Ü}©²ÆzÚj:+v¨þø®w¥þàÞ¨è&¢)ß«a¶Úÿûz¹ÞúÝjÿwèf