A follow up question on this is if my transmit routine does not have its own queue and the H/W can only transmit 1 packet at a time, should the transmit routine call ieee80211_stop_queue() when it starts the transmit procedure, and then call ieee80211_wake_queue() when the hardware indicates it has finished transmitting the packet. -----Original Message----- From: linux-wireless-owner@xxxxxxxxxxxxxxx [mailto:linux-wireless-owner@xxxxxxxxxxxxxxx] On Behalf Of Gordon, Charles Sent: Thursday, January 22, 2009 4:53 PM To: linux-wireless@xxxxxxxxxxxxxxx Subject: Question on tx field of struct ieee80211_ops I'm writing a wireless driver that will use the mac80211 API. My hardware = allows me to send one packet at a time. The driver is suppose to set the t= x field (among others) in the struct ieee80211_ops argument passed to ieee8= 0211_alloc_hw(). The tx field should be loaded with a pointer to a low lev= el transmit routine. However, it's not clear from the documentation if thi= s routine should maintain a packet queue or not. Is it okay for the low le= vel transmit routine to only allow one packet to be transmitted at a time, = or should it maintain a queue of tx packets? It seems like the mac80211 AP= I is already maintaining a queue, so I'm not sure that the low level driver= should maintain a second one. Thanks for any information you can provide. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html