On Monday 11 May 2009 03:29 pm, Jung-uk Kim wrote: > [CC added] > > On Saturday 09 May 2009 09:55 am, Alexander Motin wrote: > > -------- Original Message -------- > > Subject: Re: amd64 suspend/resume broken on current > > Date: Fri, 8 May 2009 21:52:45 +0200 > > From: Guy Brand <gb_at_unistra.fr> > > Organization: Direction Informatique, Université de Strasbourg, > > France To: Alexander Motin <mav_at_mavhome.dp.ua> > > References: <gtslv6$ufq$1_at_FreeBSD.cs.nctu.edu.tw> > > <4A021118.2030106_at_mavhome.dp.ua> > > <20090508111024.GK4922_at_unistra.fr> <4A041DC2.90106_at_mavhome.dp.ua> > > <20090508144551.GA1599_at_unistra.fr> > > <4A047925.6060301_at_mavhome.dp.ua> > > > > Guy Brand wrote: > > > Alexander Motin wrote: > > > > Done. No firewire issue of course, but a kernel panic on > > > > resume. Bad karma since yesterday :-) > > > > > > Where is this panic happens now? > > > > Just after resuming: > > > > Fatal trap 12: page fault while in kernel mode > > ... > > current process = 1415 (acpiconf) > > > > The backtrace says: > > > > intr_execute_handlers() at intr_execute_handlers+0x21 > > lapic_handle_intr() at lapic_handle_intr+0x37 > > Xapic_isr1() at Xapic_isr1+0xa4 > > > > acpi_sleep_machdep() at acpi_sleep_machdep+0x3b2 > > acpi_EnterSleepState() at acpi_EnterSleepState+0x3fe > > acpi_AckSleepState() at acpi_AckSleepState+0x163 > > devfs_ioctl() at devfs_ioctl_f+0x77 > > kern_ioctl() at kern_ioctl+0xb0 > > ioctl() at ioctl+0xfd > > syscall() at syscal+0x246 > > Xfast_syscall() at Xfast_syscall+0xd0 > > So, that means the interrupt handler is executed *before* device is > completely resumed. In fact, the interrupts are not disabled for > dcons(4), it seems: > > #if 0 /* Let dcons(4) be accessed */ > /* Stop interrupt */ > OWRITE(sc, FWOHCI_INTMASKCLR, > OHCI_INT_EN | OHCI_INT_ERR | > OHCI_INT_PHY_SID > > | OHCI_INT_PHY_INT > | OHCI_INT_DMA_ATRQ | OHCI_INT_DMA_ATRS > | OHCI_INT_DMA_PRRQ | OHCI_INT_DMA_PRRS > | OHCI_INT_DMA_ARRQ | OHCI_INT_DMA_ARRS > | OHCI_INT_PHY_BUS_R); > > /* FLUSH FIFO and reset Transmitter/Reciever */ > OWRITE(sc, OHCI_HCCCTL, OHCI_HCC_RESET); > #endif > > I guess firewire(4) should differentiate suspend and shutdown > properly. Can you try the attached patch? I may be wrong cause I am not a firewire guru, though. Thanks! Jung-uk Kim
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:47 UTC