Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 901787c1 authored by Emmanuel Grumbach's avatar Emmanuel Grumbach Committed by Johannes Berg
Browse files

iwlwifi: comment context requirements of the op_mode



A few op_mode of the op_mode API functions have requirements
on the running context of the caller. Document that.

Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent e9d364de
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -111,22 +111,25 @@ struct iwl_cfg;
 *	May sleep
 * @rx: Rx notification to the op_mode. rxb is the Rx buffer itself. Cmd is the
 *	HCMD the this Rx responds to.
 *	Must be atomic.
 *	Must be atomic and called with BH disabled.
 * @queue_full: notifies that a HW queue is full.
 *	Must be atomic
 *	Must be atomic and called with BH disabled.
 * @queue_not_full: notifies that a HW queue is not full any more.
 *	Must be atomic
 *	Must be atomic and called with BH disabled.
 * @hw_rf_kill:notifies of a change in the HW rf kill switch. True means that
 *	the radio is killed. Must be atomic.
 * @free_skb: allows the transport layer to free skbs that haven't been
 *	reclaimed by the op_mode. This can happen when the driver is freed and
 *	there are Tx packets pending in the transport layer.
 *	Must be atomic
 * @nic_error: error notification. Must be atomic
 * @cmd_queue_full: Called when the command queue gets full. Must be atomic.
 * @nic_error: error notification. Must be atomic and must be called with BH
 *	disabled.
 * @cmd_queue_full: Called when the command queue gets full. Must be atomic and
 *	called with BH disabled.
 * @nic_config: configure NIC, called before firmware is started.
 *	May sleep
 * @wimax_active: invoked when WiMax becomes active.  Must be atomic.
 * @wimax_active: invoked when WiMax becomes active.  Must be atomic and called
 *	with BH disabled.
 */
struct iwl_op_mode_ops {
	struct iwl_op_mode *(*start)(struct iwl_trans *trans,
@@ -165,7 +168,6 @@ struct iwl_op_mode {
static inline void iwl_op_mode_stop(struct iwl_op_mode *op_mode)
{
	might_sleep();

	op_mode->ops->stop(op_mode);
}