On Wednesday 04 April 2007 19:41, Mark Atkinson wrote:
> I get the following error when trying to compile the proposed usb4bsd stack
> against current.
>
> In file included from /usr/src/sys/dev/usb/ehci.c:67:
> /usr/src/sys/dev/usb/usb_port.h:293:1: "msleep" redefined
> In file included from /usr/src/sys/dev/usb/ehci.c:58:
> /usr/src/sys/sys/systm.h:313:1: this is the location of the previous
> definition
> *** Error code 1
>
> Sure enough, it is intentionally redefined:
>
> sys/dev/usb/usb_port.h:290-293
>
> /* preliminary fix for a bug in msleep on FreeBSD,
> * which cannot sleep with Giant:
> */
> #define msleep(i,m,p,w,t) msleep(i,(((m) == &Giant) ? NULL : (m)),p,w,t)
When I integrate my driver against FreeBSD-7 current, I will add some "#if"
statements for those issues. Until further:
In /sys/dev/usb/usb_port.h, use the following:
/* preliminary fix for a bug in msleep on FreeBSD,
* which cannot sleep with Giant:
*/
#undef msleep
#define msleep(i,m,p,w,t) _sleep(i,(((m) == &Giant) ? \
NULL : &(m)->mtx_object),p,w,t)
After this patch you have to insert a NULL argument, to all bus_setup_intr()
functions you find in the files /sys/dev/usb/*pci.c like shown below ?
error = bus_setup_intr(dev, sc->sc_irq_res, INTR_TYPE_TTY,
- si_intr, sc, &ih);
+ NULL, si_intr, sc, &ih);
Hope that is not too much patching.
--HPS
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "[EMAIL PROTECTED]"