Hi, I am asking myself if we do the right return value in ieee802154_hot_tx(). Currently we transmit and stop the queue as we know the transceiver (currently only has one tx buffer (sometimes tx/rx is the same buffer)) is busy. As: ieee802154_hot_tx() - we transmit ieee802154_hold_queue() return NETDEV_TX_OK but I think or I have the feeling it should be run like this: ieee802154_hot_tx() - we transmit return NETDEV_TX_OK ieee802154_hot_tx() - we are busy ieee802154_hold_queue() return NETDEV_TX_BUSY The side effects are probably how the qdisc implementation handles the different return values. Some qdisc implementations are evaluating this and need to know that it hits hardware limitation... Some qdiscs don't evaluate this value. This is just a brainstorming here to find if what we do is currently correct or not correct... we can move this discussion to netdev to clarify this... or we figure it out by ourselves? Somehow it bothers me that there is an additional extra callback to detect it is busy and I can't believe this is not optimized yet. However we should keep that in mind that I think there is some clarification needed. btw: I also have some other things in my mind that currently could make problems in the qdisc handling related to 802.15.4 (and may with 6LoWPAN on top). - Alex