#8987: ps2: initial setup of command byte failed ----------------------------------+---------------------------------------- Reporter: x-ist | Owner: siarzhuk Type: bug | Status: new Priority: normal | Milestone: R1 Component: | Version: R1/Development Drivers/Keyboard/PS2 | Keywords: ps2 keyboard touchpad OHCI Resolution: | Blocking: Blocked By: | Platform: All Has a Patch: 1 | ----------------------------------+---------------------------------------- Comment (by x-ist): Replying to [comment:15 mmlr]: > I don't exactly see how this would be related to the media_server. Can you elaborate? I can try at least. It's a bit like stumbling in fog for me :) > I see that #8588 reports something similar, however I would then tend to say that an interrupt sharing issue existed with some audio hardware that is more related to the audio driver than OHCI. I didn't observe any king of audio issues, nor did I see something in the syslog. My observations are:[[BR]] * On my notebook the OHCI handover like it is implemented now blocks PS2 (somehow). In most cases a trip to KDL (white bar as explained in #8984) is unavoidable. * Removing the ps2_hid driver is sufficient to avoid the "white bar" state. * Starting Haiku without the USB RF receiver stick helps too. * However, then upon shutdown the system freezes, i.e. it stops at the dialog "Asking other processes ..." being unresponsive. Sometimes the media addon server crash dialog appears instead. The click on "Debug" freezes the system finally. So there must be some kind of triangulation of issues concerning PS2, OHCI and media addon server. > > * OHCI interrupts must no be disabled when performing ownership change request... > > Where do you get the "must not be disabled" from? Not sure whether I understand it correctly but 6.5.8 of {{{ ftp://ftp.compaq.com/pub/supportinformation/papers/hcir1_0a.pdf }}} sounds like the Host Controller Driver has to ensure that '' ... an interrupt is generated (unless it is masked) whenever ownership of the Host Controller is passed to and from the operating system’s Host Controller Driver and any SMM-based Host Controller Driver in the system. ''[[BR]] > As you can see in the blame list I've moved it up there in hrev41513 in an attempt to maybe help on some chipsets that got stuck at that point. Prior to proposing the patch I found the change in hrev41513 but saw that the handover procedure then differs from the FreeBSD version, which is assumed to be reliable I believe. > Please read through #8085 where a pretty similar patch has been developed ... That one I missed :P > ... an alternative to disabling all interrupts is to disable all but the ownership change request interrupt. That would seem more correct and logical to me in either case. Please see if that alone fixes your problems as well. Guess what .. It does! Would that be the common denominator then? > > * Removed excess reset upon a failed handover ... > > If at all possible we should try to later remove that again. Nothing speaks against adding the on-error reset back at that point of course. Then adding a ToDo here and there should be appropriate? -- Ticket URL: <http://dev.haiku-os.org/ticket/8987#comment:16> Haiku <http://dev.haiku-os.org> Haiku - the operating system.