The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: Mike Westall <westall@cs.clemson.edu>
To: murble <murble-atmbits@yuri.org.uk>,
	westall@cs.clemson.edu, linux-kernel@vger.kernel.org,
	linux-atm-general@lists.sourceforge.net
Subject: Re: [Linux-ATM-General] Oops: Linux ATM Interphase card.
Date: Sat, 23 Mar 2002 15:51:18 -0500	[thread overview]
Message-ID: <3C9CEAC6.7315C86@cs.clemson.edu> (raw)
In-Reply-To: <20020323010130.GA20579@yuri.org.uk>

Since you did such a fine job of describing the problem,
I can actually tell what the trouble is and how to fix 
it even though I'm not currently using that driver.  

The problem begins with the fact that <all> ioctls are
vectored to the ioctl entry point of the atmdev that is registered
on the interface in question.  In this case, all 
are vectored to ia_ioctl().  Right near the
beginning of that ia_ioctl() you will see: 
   
   if (!dev->phy->ioctl) return(-EINVAL);

In "theory" the dev->phy pointer was set in suni_init()
to point to the suni ioctl handler. 

However, in reality, if you look around line 2528 in iphase.c
you will see that suni_init is NOT called if the phy is
25mbps, DS3, or E3 (as yours is).  

Thus phy = 0 at the time of the call and the attempt to
evaluate dev->phy->ioctl causes the seg fault shown below.
(eax is holding what should be phy). 


> Code;  c8842bee <[iphase]ia_ioctl+2a/52c>   <=====
>    0:   83 78 04 00               cmpl   $0x0,0x4(%eax)   <=====

The obvious simple solution is to insert

   if (!dev->phy) return(-EINVAL)

(or I suppose you could also add a phy driver for your interface)

Mike

      parent reply	other threads:[~2002-03-23 20:51 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-03-23  1:01 Oops: Linux ATM Interphase card murble
2002-03-23 20:18 ` Francois Romieu
2002-03-23 20:51 ` Mike Westall [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3C9CEAC6.7315C86@cs.clemson.edu \
    --to=westall@cs.clemson.edu \
    --cc=linux-atm-general@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=murble-atmbits@yuri.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox