From 533d1e0f350b974d88de23c79c34b01c7106597e Mon Sep 17 00:00:00 2001 From: Duncan Sands Date: Thu, 27 Feb 2003 21:34:46 -0800 Subject: [PATCH] [PATCH] USB speedtouch: be firm when disconnected Just say -ENODEV --- drivers/usb/misc/speedtouch.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/usb/misc/speedtouch.c b/drivers/usb/misc/speedtouch.c index e902493bb5ea6..856fd26daeae2 100644 --- a/drivers/usb/misc/speedtouch.c +++ b/drivers/usb/misc/speedtouch.c @@ -648,9 +648,9 @@ static int udsl_atm_send (struct atm_vcc *vcc, struct sk_buff *skb) dbg ("udsl_atm_send called (skb 0x%p, len %u)", skb, skb->len); - if (!instance) { - dbg ("NULL instance!"); - return -EINVAL; + if (!instance || !instance->usb_dev) { + dbg ("NULL data!"); + return -ENODEV; } if (!instance->firmware_loaded) @@ -701,6 +701,7 @@ static void udsl_atm_dev_close (struct atm_dev *dev) tasklet_kill (&instance->send_tasklet); dbg ("udsl_atm_dev_close: freeing instance"); kfree (instance); + dev->dev_data = NULL; } @@ -776,8 +777,8 @@ static int udsl_atm_open (struct atm_vcc *vcc, short vpi, int vci) dbg ("udsl_atm_open called"); - if (!instance) { - dbg ("NULL instance!"); + if (!instance || !instance->usb_dev) { + dbg ("NULL data!"); return -ENODEV; } -- 2.53.0