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

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
...@@ -111,22 +111,25 @@ struct iwl_cfg; ...@@ -111,22 +111,25 @@ struct iwl_cfg;
* May sleep * May sleep
* @rx: Rx notification to the op_mode. rxb is the Rx buffer itself. Cmd is the * @rx: Rx notification to the op_mode. rxb is the Rx buffer itself. Cmd is the
* HCMD the this Rx responds to. * 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. * @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. * @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 * @hw_rf_kill:notifies of a change in the HW rf kill switch. True means that
* the radio is killed. Must be atomic. * the radio is killed. Must be atomic.
* @free_skb: allows the transport layer to free skbs that haven't been * @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 * reclaimed by the op_mode. This can happen when the driver is freed and
* there are Tx packets pending in the transport layer. * there are Tx packets pending in the transport layer.
* Must be atomic * Must be atomic
* @nic_error: error notification. Must be atomic * @nic_error: error notification. Must be atomic and must be called with BH
* @cmd_queue_full: Called when the command queue gets full. Must be atomic. * 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. * @nic_config: configure NIC, called before firmware is started.
* May sleep * 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_ops {
struct iwl_op_mode *(*start)(struct iwl_trans *trans, struct iwl_op_mode *(*start)(struct iwl_trans *trans,
...@@ -165,7 +168,6 @@ struct iwl_op_mode { ...@@ -165,7 +168,6 @@ struct iwl_op_mode {
static inline void iwl_op_mode_stop(struct iwl_op_mode *op_mode) static inline void iwl_op_mode_stop(struct iwl_op_mode *op_mode)
{ {
might_sleep(); might_sleep();
op_mode->ops->stop(op_mode); op_mode->ops->stop(op_mode);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment