음... 아마 USB허브를 쓰고 있어서 공유하는 프로그램들끼리 충돌이 일어나는거 같습니다.
구글에서 찾아봐도 순 영어로 되어 있어갖고 무슨말인지 모르겠습니다만 원문을 붙여드리겠습니다.
@_@
[PATCH 1/5] USB: Make usb_hcd_irq work for multi-role USB controllers w/ shared irq
Grant Likely grant.likely at secretlab.ca
Sat Nov 24 11:24:31 EST 2007
Previous message: [PATCH 0/5] Review request: Cypress c67x00 OTG controller
Next message: [PATCH 1/5] USB: Make usb_hcd_irq work for multi-role USB controllers w/ shared irq
Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Some multi-role (host/peripheral) USB controllers use a shared interrupt
line for all parts of the chip. Export usb_hcd_irq so drivers can call it
from their interrupt handler instead of duplicating code.
Drivers pass an irqnum of 0 to usb_add_hcd to signal that the interrupt handler
shouldn't be registerred by the core.
Signed-off-by: Peter Korsgaard
Signed-off-by: Grant Likely
---
@@ -1670,6 +1671,9 @@ EXPORT_SYMBOL (usb_put_hcd);
* Finish the remaining parts of generic HCD initialization: allocate the
* buffers of consistent memory, register the bus, request the IRQ line,
* and call the driver's reset() and start() routines.
+ *
+ * If irqnum is 0, the irq will not be requested. The caller is responsible
+ * for calling usb_hcd_irq at the correct time.
*/
int usb_add_hcd(struct usb_hcd *hcd,
unsigned int irqnum, unsigned long irqflags)
@@ -1723,7 +1727,7 @@ int usb_add_hcd(struct usb_hcd *hcd,
dev_dbg(hcd->self.controller, "supports USB remote wakeup\n");
/* enable irqs just before we start the controller */
- if (hcd->driver->irq) {
+ if (hcd->driver->irq && irqnum) {
snprintf(hcd->irq_descr, sizeof(hcd->irq_descr), "%s:usb%d",
hcd->driver->description, hcd->self.busnum);
if ((retval = request_irq(irqnum, &usb_hcd_irq, irqflags,
$ cat
하시면 인터럽트 번호에 할당된 디바이스 목록이 나옵니다. 그걸 참고하시면 될 듯 한데...
글쓴이 입니다.
음... 아마 USB허브를 쓰고 있어서 공유하는 프로그램들끼리 충돌이 일어나는거 같습니다.
구글에서 찾아봐도 순 영어로 되어 있어갖고 무슨말인지 모르겠습니다만 원문을 붙여드리겠습니다.
@_@
[PATCH 1/5] USB: Make usb_hcd_irq work for multi-role USB controllers w/ shared irq
Grant Likely grant.likely at secretlab.ca
Sat Nov 24 11:24:31 EST 2007
Previous message: [PATCH 0/5] Review request: Cypress c67x00 OTG controller
Next message: [PATCH 1/5] USB: Make usb_hcd_irq work for multi-role USB controllers w/ shared irq
Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
--------------------------------------------------------------------------------
From: Peter Korsgaard
Some multi-role (host/peripheral) USB controllers use a shared interrupt
line for all parts of the chip. Export usb_hcd_irq so drivers can call it
from their interrupt handler instead of duplicating code.
Drivers pass an irqnum of 0 to usb_add_hcd to signal that the interrupt handler
shouldn't be registerred by the core.
Signed-off-by: Peter Korsgaard
Signed-off-by: Grant Likely
---
drivers/usb/core/hcd.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
index fea8256..6ce305c 100644
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
@@ -1562,6 +1562,7 @@ irqreturn_t usb_hcd_irq (int irq, void *__hcd)
usb_hc_died (hcd);
return IRQ_HANDLED;
}
+EXPORT_SYMBOL_GPL (usb_hcd_irq);
/*-------------------------------------------------------------------------*/
@@ -1670,6 +1671,9 @@ EXPORT_SYMBOL (usb_put_hcd);
* Finish the remaining parts of generic HCD initialization: allocate the
* buffers of consistent memory, register the bus, request the IRQ line,
* and call the driver's reset() and start() routines.
+ *
+ * If irqnum is 0, the irq will not be requested. The caller is responsible
+ * for calling usb_hcd_irq at the correct time.
*/
int usb_add_hcd(struct usb_hcd *hcd,
unsigned int irqnum, unsigned long irqflags)
@@ -1723,7 +1727,7 @@ int usb_add_hcd(struct usb_hcd *hcd,
dev_dbg(hcd->self.controller, "supports USB remote wakeup\n");
/* enable irqs just before we start the controller */
- if (hcd->driver->irq) {
+ if (hcd->driver->irq && irqnum) {
snprintf(hcd->irq_descr, sizeof(hcd->irq_descr), "%s:usb%d",
hcd->driver->description, hcd->self.busnum);
if ((retval = request_irq(irqnum, &usb_hcd_irq, irqflags,
주소는 http://ozlabs.org/pipermail/linuxppc-dev/2007-November/046796.html
여기구요 그나마 이게 가장 정확도가 높은듯하네요... 좀 읽어보고 방법을 강구하던지 해야디..쩝
부트 옵션에 irqpoll 을
부트 옵션에 irqpoll 을 추가해보세요..
비슷한 문제였었는데 저걸로 해결이 되었었던 기억이 있습니다
----------------------------------------
했습니다.
에러 발생시간이 약간 길어지긴 했는데 여전히 같은 문제는 있네요
-_-
주석에다가 irqpoll 을 추가해놨었네요-_-
부팅되는 쪽에다가 추가시키니 제대로 되는거 같습니다.^^ 감사합니다.
vi /etc/grub.conf 에서 부팅하는 파티션 맨뒤에다가
수정해주시면 됩니다.^^ 혹시 모르시는 분들을 위해서
댓글 달기