Kernel module that shuts down the device

Drew Abbott abbotta4 at gmail.com
Sun Nov 7 19:16:55 EST 2021


>  Where are you calling it from?  Don't call it from irq context, which is
the context that USB urbs are called from.

I am currently calling it from an irq context, in the fusb302_irq_work()
function of the in-tree fusb302.c driver. My relevant patch is below.

 > Do you have a link to your driver code so it can be reviewed?

The relevant change is here:
https://github.com/Abbotta4/linux/commit/fbfbb1db54d6bd1b10d56c9e86d08d0ecfe9abdc
You mentioned that this shouldn't be called in an irq context, but the
unplug event is detected with an irq. Where should I be calling
kernel_power_off() if not in the irq context? I think one way of doing this
would be to set a value that a heartbeat function reads in the irq, and
then the heartbeat function calls the shutdown, but this driver doesn't use
a heartbeat. Where else would I handle this?

Thank you,
Drew
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20211107/4347282e/attachment.html>


More information about the Kernelnewbies mailing list