[PATCH 2.6 IrDA] Use kill_urb() in irda-usb

From: Jean Tourrilhes
Date: Wed Dec 08 2004 - 20:59:50 EST


ir260_irda-usb-kill-2.diff :
~~~~~~~~~~~~~~~~~~~~~~~~~~
<Original patch from Stephen Hemminger>
Updates for irda-usb.
* change comment about Sigmatel now that there is a driver
* convert to new module_param
* places where urb is unlinked synchronously, use usb_kill_urb
because that is now a runtime warning.

Signed-off-by: Stephen Hemminger <shemminger@xxxxxxxx>
Signed-off-by: Jean Tourrilhes <jt@xxxxxxxxxx>


diff -u -p linux/drivers/net/irda/irda-usb.d2.c linux/drivers/net/irda/irda-usb.c
--- linux/drivers/net/irda/irda-usb.d2.c Wed Dec 8 17:13:29 2004
+++ linux/drivers/net/irda/irda-usb.c Wed Dec 8 17:20:20 2004
@@ -52,7 +52,7 @@
/*------------------------------------------------------------------*/

#include <linux/module.h>
-
+#include <linux/moduleparam.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/init.h>
@@ -88,10 +88,10 @@ static struct usb_device_id dongles[] =

/*
* Important note :
- * Devices based on the SigmaTel chipset (0x66f, 0x4200) are not compliant
- * with the USB-IrDA specification (and actually very very different), and
- * there is no way this driver can support those devices, apart from
- * a complete rewrite...
+ * Devices based on the SigmaTel chipset (0x66f, 0x4200) are not designed
+ * using the "USB-IrDA specification" (yes, there exist such a thing), and
+ * therefore not supported by this driver (don't add them above).
+ * There is a Linux driver, stir4200, that support those USB devices.
* Jean II
*/

@@ -1007,9 +1007,9 @@ static int irda_usb_net_close(struct net
}
/* Cancel Tx and speed URB - need to be synchronous to avoid races */
self->tx_urb->transfer_flags &= ~URB_ASYNC_UNLINK;
- usb_unlink_urb(self->tx_urb);
+ usb_kill_urb(self->tx_urb);
self->speed_urb->transfer_flags &= ~URB_ASYNC_UNLINK;
- usb_unlink_urb(self->speed_urb);
+ usb_kill_urb(self->speed_urb);

/* Stop and remove instance of IrLAP */
if (self->irlap)
@@ -1520,9 +1520,9 @@ static void irda_usb_disconnect(struct u
/* Cancel Tx and speed URB.
* Toggle flags to make sure it's synchronous. */
self->tx_urb->transfer_flags &= ~URB_ASYNC_UNLINK;
- usb_unlink_urb(self->tx_urb);
+ usb_kill_urb(self->tx_urb);
self->speed_urb->transfer_flags &= ~URB_ASYNC_UNLINK;
- usb_unlink_urb(self->speed_urb);
+ usb_kill_urb(self->speed_urb);
}

/* Cleanup the device stuff */
@@ -1593,7 +1593,7 @@ module_exit(usb_irda_cleanup);
/*
* Module parameters
*/
-MODULE_PARM(qos_mtt_bits, "i");
+module_param(qos_mtt_bits, int, 0);
MODULE_PARM_DESC(qos_mtt_bits, "Minimum Turn Time");
MODULE_AUTHOR("Roman Weissgaerber <weissg@xxxxxxxxx>, Dag Brattli <dag@xxxxxxxxxxx> and Jean Tourrilhes <jt@xxxxxxxxxx>");
MODULE_DESCRIPTION("IrDA-USB Dongle Driver");
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/