On Sun, Jun 09, 2019 at 06:52:34PM +0300, Evgeny Zinoviev wrote:
> So here's the patch for MacBooks, I hope it doesn't break anything.

Unfortunately, the call to usb_poll_intr() in usb_check_key() will
memcpy maxPacketSize bytes.  That would overflow 'struct usbkeyinfo'.

-Kevin


> On 6/2/19 9:01 PM, Kevin O'Connor wrote:
> > On Sun, Jun 02, 2019 at 05:39:11PM +0300, Evgeny Zinoviev wrote:
> >> Hi folks.
> >>
> >> I've recently ported coreboot on MBA 5,2 (13'' mid 2012 model) and MBP
> >> 10,1 (15'' mid 2012 retina model). The integrated keyboard on these
> >> models is connected as a USB device, not PS/2. I have tested GRUB,
> >> SeaBIOS and Tianocore payloads, and the keyboard works in GRUB and
> >> Tianocore but not in SeaBIOS.
> >>
> >> I was advised to send a log to this mailing list. It was created with
> >> SEABIOS_DEBUG_LEVEL=9. I'm not yet familiar with SeaBIOS code, but with
> >> your help perhaps I can debug and fix this.
> >>
> > At a quick glance, it appears multiple USB keyboards/mice were found.
> > SeaBIOS just chooses one randomly in that case.  As a guess, it chose
> > the wrong one.  If you want to try and debug it, you could look at
> > src/hw/usb-hid.c:usb_kbd_setup().
> >
> > -Kevin
> > _______________________________________________
> > SeaBIOS mailing list -- [email protected]
> > To unsubscribe send an email to [email protected]

> diff --git a/src/hw/usb-hid.c b/src/hw/usb-hid.c
> index fa4d9a2..7d3561c 100644
> --- a/src/hw/usb-hid.c
> +++ b/src/hw/usb-hid.c
> @@ -59,7 +59,7 @@ usb_kbd_setup(struct usbdevice_s *usbdev
>          // XXX - this enables the first found keyboard (could be random)
>          return -1;
>  
> -    if (epdesc->wMaxPacketSize != 8)
> +    if (epdesc->wMaxPacketSize != 8 && epdesc->wMaxPacketSize != 10)
>          return -1;
>  
>      // Enable "boot" protocol.

> _______________________________________________
> SeaBIOS mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
_______________________________________________
SeaBIOS mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to