BUG: scheduling while atomic

Holger Schurig hs4233 at mail.mn-solutions.de
Mon Mar 17 11:54:28 EDT 2008


On Monday 17 March 2008 16:13:25 Johannes Berg wrote:
> That's pretty obvious:

I need to read more about those things LDD :-)

Thanks for explaining. I think I introduced this bug. I
just wonder why I didn't see it before, e.g. I didn't see
it this morning or when I was testing my patch "convert
CMD_MAC_CONTROL to a direct command"


This patch snippet from me produced the bug:


 int lbs_set_mac_packet_filter(struct lbs_private *priv)
 {
        int ret = 0;
+       struct cmd_ds_mac_control cmd;

        lbs_deb_enter(LBS_DEB_CMD);

-       /* Send MAC control command to station */
-       ret = lbs_prepare_and_send_command(priv,
-                                   CMD_MAC_CONTROL, 0, 0, 0, NULL);
+       cmd.hdr.size = cpu_to_le16(sizeof(cmd));
+       cmd.action = cpu_to_le16(priv->currentpacketfilter);
+       cmd.reserved = 0;
+
+       ret = lbs_cmd_with_response(priv, CMD_MAC_CONTROL, &cmd);



The original code did not contain CMD_OPTION_WAITFORRSP, so my
translation to lbs_cmd_with_response() was wrong. I'll cook up
a patch soon.



More information about the libertas-dev mailing list