Messages in this thread Patch in this message | | | Date | Wed, 8 Dec 2004 17:53:05 -0800 | Subject | [PATCH 2.6 IrDA] Use kill_urb() in irda-usb | From | Jean Tourrilhes <> |
| |
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@osdl.org> Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com>
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@vienna.at>, Dag Brattli <dag@brattli.net> and Jean Tourrilhes <jt@hpl.hp.com>"); 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |