i4l: do not print a warning when shutting down an i4l ppp interface
authorPaul Bolle <pebolle@tiscali.nl>
Wed, 14 Jan 2009 22:41:00 +0000 (14:41 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 14 Jan 2009 22:41:00 +0000 (14:41 -0800)
When an i4l ppp interface is shut down (e.g. with /sbin/ifdown ippp0) a
scary warning is logged:

    isdn_free_channel: called with invalid drv(-1) or channel(-1)

This warning is caused by isdn_net_unbind_channel(), which always calls
isdn_free_channel() even if isdn_net_local->isdn_device and
isdn_net_local->isdn_channel are (still) in a perfectly acceptable
default state, so let's not do that.

Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/isdn/i4l/isdn_net.c

index 7c5f97033b9ff71151f496ee36d0887f8ff9af40..de6be7181f0734966cdbe840ef923f9dd7ff4cd8 100644 (file)
@@ -292,7 +292,9 @@ isdn_net_unbind_channel(isdn_net_local * lp)
        lp->dialstate = 0;
        dev->rx_netdev[isdn_dc2minor(lp->isdn_device, lp->isdn_channel)] = NULL;
        dev->st_netdev[isdn_dc2minor(lp->isdn_device, lp->isdn_channel)] = NULL;
-       isdn_free_channel(lp->isdn_device, lp->isdn_channel, ISDN_USAGE_NET);
+       if (lp->isdn_device != -1 && lp->isdn_channel != -1)
+               isdn_free_channel(lp->isdn_device, lp->isdn_channel,
+                                 ISDN_USAGE_NET);
        lp->flags &= ~ISDN_NET_CONNECTED;
        lp->isdn_device = -1;
        lp->isdn_channel = -1;