patch-2.4.21 linux-2.4.21/net/irda/irda_device.c
Next file: linux-2.4.21/net/irda/irlap.c
Previous file: linux-2.4.21/net/irda/ircomm/ircomm_tty.c
Back to the patch index
Back to the overall index
- Lines: 31
- Date:
2003-06-13 07:51:39.000000000 -0700
- Orig file:
linux-2.4.20/net/irda/irda_device.c
- Orig date:
2002-02-25 11:38:14.000000000 -0800
diff -urN linux-2.4.20/net/irda/irda_device.c linux-2.4.21/net/irda/irda_device.c
@@ -369,6 +369,12 @@
* time to complete. We do it this hairy way since we may have been
* called from interrupt context, so it's not possible to use
* schedule_timeout()
+ * Two important notes :
+ * o Make sure you irda_task_delete(task); in case you delete the
+ * calling instance.
+ * o No real need to lock when calling this function, but you may
+ * want to lock within the task handler.
+ * Jean II
*/
struct irda_task *irda_task_execute(void *instance,
IRDA_TASK_CALLBACK function,
@@ -467,6 +473,9 @@
* Function irda_device_init_dongle (self, type, qos)
*
* Initialize attached dongle.
+ *
+ * Important : request_module require us to call this function with
+ * a process context and irq enabled. - Jean II
*/
dongle_t *irda_device_dongle_init(struct net_device *dev, int type)
{
@@ -478,6 +487,7 @@
#ifdef CONFIG_KMOD
{
char modname[32];
+ ASSERT(!in_interrupt(), return NULL;);
/* Try to load the module needed */
sprintf(modname, "irda-dongle-%d", type);
request_module(modname);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)