All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai] RTDM !xnpod_unblockable_p() question
@ 2014-08-13 12:28 Michael Smith
  2014-08-13 12:52 ` Philippe Gerum
  2014-08-13 20:04 ` Gilles Chanteperdrix
  0 siblings, 2 replies; 6+ messages in thread
From: Michael Smith @ 2014-08-13 12:28 UTC (permalink / raw)
  To: xenomai

Hi
I have been struggling with this problem for days on end, but there is just
not enough information in the code
or documentation for me to solve it.
I am calling rtdm_mutex_lock() inside a device driver module. It is called
by my PCI probe function as
the driver is initializing.
I keep on getting the error message:
Xenomai: assertion failed at kernel/xenomai/skins/rtdm/drvlib.c:1534
(!xnpod_unblockable_p())
And the resultant -EPERM error message from the return of the function.

I know these checks were inserted to stop any call from an incorrect
context. But as far as the documentation states
it can be called from a kernel module.
Also as the mail form March 2006 states
http://www.xenomai.org/pipermail/xenomai/2006-March/003116.html

!xnpod_unblockable_p():
- allows blockable RT-context (kernel and user threads)
- rejects user threads in secondary mode
- rejects Linux threads

Is there something I'm missing with regards to the calling context?
Are there any other situations this could also produce this return?
Because as far as I can see it should fine being called in a kernel module.

Thanks
Michael Smith

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-08-14  7:20 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-13 12:28 [Xenomai] RTDM !xnpod_unblockable_p() question Michael Smith
2014-08-13 12:52 ` Philippe Gerum
2014-08-13 12:55   ` Philippe Gerum
2014-08-13 20:04 ` Gilles Chanteperdrix
     [not found]   ` <CANWkrROgE=AVv_Qq9hkvS+kJ+Wx1zepOjJQ2gAX7qwNYJqhYBw@mail.gmail.com>
2014-08-14  7:02     ` [Xenomai] Fwd: " Michael Smith
2014-08-14  7:20       ` Philippe Gerum

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.