Re: Hard Lockup with 2.4.20-rc3 and ISDN (ippp)

From: Kai Germaschewski (kai@tp1.ruhr-uni-bochum.de)
Date: Sat Nov 23 2002 - 10:12:21 EST


On Sat, 23 Nov 2002, Stephan von Krawczynski wrote:

> On Fri, 22 Nov 2002 15:21:28 -0200 (BRST)
> Marcelo Tosatti <marcelo@conectiva.com.br> wrote:
>
> >
> > Hi,
> >
> > Finally, here goes -rc3.
> > [...]
> > Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de>:
> > o ISDN: Fix error path in isdn_ppp.c
>
> Something must be wrong with this one, I experience an immediate hard lockup
> when trying to use a ippp-connection. No way around it, always happens. And no
> panic message or anything, just complete immediate lockup. This is with hisax +
> AVM Fritz PCI 2.0 + SMP + SuSE 8.1 distro installation.
> Anybody else with the same problem?
> rc2 works for _some_ connections (after a while I have to reload the drivers to
> work again). All 20pre version work without any problem at all.

Yup, my bad. Could you confirm that the attached patch which I sent to
Marcelo already fixes it?

Also, please send me the details (privately) about the occasional driver
going defunct, let's try to figure that one out.

--Kai

-----------------------------------------------------------------------------
ChangeSet@1.795.1.2, 2002-11-22 15:24:43-06:00, kai@tp1.ruhr-uni-bochum.de
  ISDN: Fix the fix
  
  Argh, I must have been asleep or something. The original patch by Herbert
  Xu was right, I extended it to cover more error paths and broke it in
  doing so. Now fixed again.

  
---------------------------------------------------------------------------

diff -Nru a/drivers/isdn/isdn_ppp.c b/drivers/isdn/isdn_ppp.c
--- a/drivers/isdn/isdn_ppp.c Fri Nov 22 15:29:42 2002
+++ b/drivers/isdn/isdn_ppp.c Fri Nov 22 15:29:42 2002
@@ -1147,7 +1147,7 @@
                 printk(KERN_ERR "isdn_ppp_xmit: lp->ppp_slot(%d)\n",
                         mlp->ppp_slot);
                 kfree_skb(skb);
- goto unlock;
+ goto out;
         }
         ipts = ippp_table[slot];
 
@@ -1155,7 +1155,7 @@
                 if (ipts->debug & 0x1)
                         printk(KERN_INFO "%s: IP frame delayed.\n", netdev->name);
                 retval = 1;
- goto unlock;
+ goto out;
         }
 
         switch (ntohs(skb->protocol)) {
@@ -1169,7 +1169,7 @@
                         printk(KERN_ERR "isdn_ppp: skipped unsupported protocol: %#x.\n",
                                skb->protocol);
                         dev_kfree_skb(skb);
- goto unlock;
+ goto out;
         }
 
         lp = isdn_net_get_locked_lp(nd);
@@ -1336,6 +1336,7 @@
 
  unlock:
         spin_unlock_bh(&lp->xmit_lock);
+ out:
         return retval;
 }
 

-
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/



This archive was generated by hypermail 2b29 : Sat Nov 23 2002 - 22:00:43 EST