summaryrefslogtreecommitdiffstats
path: root/drivers/usb/atm/usbatm.h
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2006-01-13 10:05:15 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2006-01-31 17:23:39 -0800
commit0e42a627ec3d8defa0c43cff94b8f2080a070716 (patch)
tree5b22c24b224de444ddc6fd9b874a86624d41c227 /drivers/usb/atm/usbatm.h
parent233c08e0ff303e659a9003d49b15608f59f08a64 (diff)
downloadblackbird-op-linux-0e42a627ec3d8defa0c43cff94b8f2080a070716.tar.gz
blackbird-op-linux-0e42a627ec3d8defa0c43cff94b8f2080a070716.zip
[PATCH] USBATM: shutdown open connections when disconnected
This patch causes vcc_release_async to be applied to any open vcc's when the modem is disconnected. This signals a socket shutdown, letting the socket user know that the game is up. I wrote this patch because of reports that pppd would keep connections open forever when the modem is disconnected. This patch does not fix that problem, but it's a step in the right direction. It doesn't help because the pppoatm module doesn't yet monitor state changes on the ATM socket, so simply never realises that the ATM connection has gone down (meaning it doesn't tell the ppp layer). But at least there is a socket state change now. Unfortunately this patch may create problems for those rare users like me who use routed IP or some other non-ppp connection method that goes via the ATM ARP daemon: the daemon is buggy, and with this patch will crash when the modem is disconnected. Users with a buggy atmarpd can simply restart it after disconnecting the modem. Signed-off-by: Duncan Sands <baldrick@free.fr> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/atm/usbatm.h')
-rw-r--r--drivers/usb/atm/usbatm.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/atm/usbatm.h b/drivers/usb/atm/usbatm.h
index 4b923a83555e..1a31cf87bb1f 100644
--- a/drivers/usb/atm/usbatm.h
+++ b/drivers/usb/atm/usbatm.h
@@ -168,6 +168,7 @@ struct usbatm_data {
struct kref refcount;
struct semaphore serialize;
+ int disconnected;
/* heavy init */
int thread_pid;
OpenPOWER on IntegriCloud