LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Ohci hcd help- urgent!!! (https://www.linuxquestions.org/questions/linux-newbie-8/ohci-hcd-help-urgent-716079/)

rhine2 04-01-2009 10:33 AM

Ohci hcd help- urgent!!!
 
I am trying to use a NEC USB host controller NEC D720102GC with a BCM4704 device in a 2.6 kernel and if I insmod the ohci-hcd.ko driver, it reboots without any kernel panic or messages.

I pin pointed to where it dies, but I get no messages even though I enabled USB debug in kernel. It simply reboots. Lost how to proceed from here. Appreciate any pointers or help.
Regards

Insmod ohci-hcd.ko or building this ko into the kernel, the system will reboot

insmod ehci-hcd.ko* --- works well
insmod uhci-hcd.ko* --- works well

Please refer the followings,

/linux/linux/drivers/usb/host/ohci-hcd.c
static int ohci_init (struct ohci_hcd *ohci) {
int ret;
struct usb_hcd *hcd = ohci_to_hcd(ohci);

disable (ohci);
ohci-regs = hcd-regs;

/* REVISIT this BIOS handshake is now moved into PCI "quirks", and
* * was never needed for most non-PCI systems ... remove the code?
* */

#ifndef IR_DISABLE
/* SMM owns the HC?* not for long! */
if (!no_handshake && ohci_readl (ohci,
&ohci-regs-control) & OHCI_CTRL_IR) {
u32 temp;

ohci_dbg (ohci, "USB HC TakeOver from BIOS/SMM\n");

/* this timeout is arbitrary.* we make it long, so systems
* * depending on usb keyboards may be usable even if the
* * BIOS/SMM code seems pretty broken.
* */
temp = 500;**** /* arbitrary: five seconds */

ohci_writel (ohci, OHCI_INTR_OC, &ohci-regs-intrenable);
ohci_writel (ohci, OHCI_OCR, &ohci-regs-cmdstatus);
while (ohci_readl (ohci, &ohci-regs-control) & OHCI_CTRL_IR) {
msleep (10);
if (--temp == 0) {
ohci_err (ohci, "USB HC takeover failed!"
"* (BIOS/SMM bug)\n");
return -EBUSY;
}
}
ohci_usb_reset (ohci);
}
#endif

/* Disable HC interrupts */
ohci_writel (ohci, OHCI_INTR_MIE, &ohci-regs-intrdisable); <<==================Dies

GrapefruiTgirl 04-02-2009 10:07 PM

Since I was just hanging about and have nothing pressing on the go, I figure I will try to help a little bit..

1) Putting words like "Urgent" into your post title will cause MOST members who really know what they are talking about to ignore your thread. Please remember, your problem is only urgent to YOU.

2) Editing your profile, or at least your signature, to indicate what Linux Distribution you are using, will allow people to help with issues in ways that may be specific to your Linux distribution, without needing to ask you "What Linux are you using?" if it matters for the issue in question.

3) As to your issue:

What have you done exactly in order to 'pinpoint' where in the USB driver code the reboot is occurring? What makes you suspect this piece of code?
Have you tried Google or similar tools, to see if anyone else has had this issue, or if a similar problem exists on similar hardware for other people?
Which kernel (exactly) are you using? There are a lot of 2.6 kernel releases (and again, this might pertain to your Linux distro-- is it a distro kernel, or did you build it yourself?).

If you open a root console, or boot up to a virtual console and log in as root, issue the command "lspci -vv" and you will be able to see listing(s) for your USB controller hardware, as well as the required driver you need: There will be an entry ending with the word "prog-if:" where you will see whether you need UCHI, OHCI, or EHCI, or a combination of these. Are you using the right ones?

I'm not an expert by any means, but it seems somewhat unlikely to me that inserting a USB driver module is rebooting your machine. Who knows, maybe it IS, but we need some more info.

Thanks,

SVA


All times are GMT -5. The time now is 08:11 PM.