Re: request_irq returns -ENOSYS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 






 Yup, I've checked dev->IRQ against that which lspci
 -vv returns, and they're the same.
 
 Thanks for the reply.
 
 - Al (and apologies if I've submitted this twice - it's 6am and I've exhausted my day's supply of Clever already..)
 
> --- On Sun, 4/19/09, Pei Lin <telent997@xxxxxxxxx>
> wrote:
> 
> > From: Pei Lin <telent997@xxxxxxxxx>
> > Subject: Re: request_irq returns -ENOSYS
> > Cc: kernelnewbies@xxxxxxxxxxxx
> >
> > you are using the "IRQF_SHARED" mode to
> > request_irq, and so the
> > irq_number will be the one which others' device
> use.
> > Are u sure
> > "dev->irq" is the right one?
> > 
> > BRs
> > 
> > Lin
> > 
> > 2009/4/20 ASmallCheeseBox
> > <asmallcheesebox@xxxxxxxxx>:
> > >
> > >
> > > Hi. I posted this to the forum a couple days ago,
> to
> > no avail - I hope no-one minds me reposting here.
> > >
> > > My issue:
> > >
> > > So, I'm merrily writing my device driver for
> some
> > homebrew hardware using the Xilinx PCIE endpoint.
> > >
> > > I'm sure this has been working in the past,
> but
> > now I get -38 (-ENOSYS) returned from my call to
> > request_irq. I can't for the life of me figure out
> why,
> > although I've dug a bit and found that this is
> being
> > returned by the following lines in
> kernel/irq/manage.c:
> > >
> > > 404: if (desc->chip == &no_irq_chip)
> > > 405:   return -ENOSYS;
> > >
> > > I think this is telling me that the kernel
> doesn't
> > know how to handle IRQs that my card signals, because
> the
> > IRQ handling hardware isn't supported. Am I wrong?
> > >
> > > I've tried three different kernel versions
> > (2.6.22, 2.6.27, and 2.6.28) and I get the same
> behaviour on
> > each. I've tried twiddling BIOS settings (and even
> > upgraded the BIOS), I've tried messing about with
> the
> > kernel command line, and I've tried registering
> other
> > IRQ lines instead (ie, some native IRQ). I'm
> pretty much
> > at a loss. Trying a different motherboard is on my
> to-try
> > list, but I'm trying to avoid that (since I
> don't
> > have any more yet).
> > >
> > > The relevant call to request_irq:
> > >
> > > // enable IRQ for card
> > > long s=request_irq ( dev->irq,
> handle_interrupt,
> > IRQF_SHARED, DRIVER_NAME, dev);
> > > if ( s )
> > > {
> > >   printk(KERN_ALERT "Failed to request IRQ
> %d
> > (%d)\n", dev->irq, s);
> > >
> > > My IRQ handler is a stub which just returns
> > IRQ_HANDLED.
> > >
> > > I've dug through documentation and my (albeit
> > outdated) paper books, and can't find anything
> relevant
> > (at least not for x86). Can anyone suggest anything I
> > might've overlooked, or point me in the right
> direction?
> > >
> > > The motherboard has a VIA chipset, and the PCI-e
> card
> > is a 1-lane Xilinx board. I've disabled every
> spurious
> > function I can find in the BIOS.
> > >
> > > Thanks for any help..
> > >
> > >
> > >
> > >
> > > --
> > > To unsubscribe from this list: send an email with
> > > "unsubscribe kernelnewbies" to
> > ecartis@xxxxxxxxxxxx
> > > Please read the FAQ at
> http://kernelnewbies.org/FAQ
> > >
> > >


      

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux