Re: [wpan-next v2 23/27] net: mac802154: Add support for active scans

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Wed, 12 Jan 2022 at 12:34, Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote:
...
> +static int mac802154_scan_send_beacon_req_locked(struct ieee802154_local *local)
> +{
> +       struct sk_buff *skb;
> +       int ret;
> +
> +       lockdep_assert_held(&local->scan_lock);
> +
> +       skb = alloc_skb(IEEE802154_BEACON_REQ_SKB_SZ, GFP_KERNEL);
> +       if (!skb)
> +               return -ENOBUFS;
> +
> +       ret = ieee802154_beacon_req_push(skb, &local->beacon_req);
> +       if (ret) {
> +               kfree_skb(skb);
> +               return ret;
> +       }
> +
> +       return drv_xmit_async(local, skb);

I think you need to implement a sync transmit handling here. And what
I mean is not using dryv_xmit_sync() (It is a long story and should
not be used, it's just that the driver is allowed to call bus api
functions which can sleep). We don't have such a function yet (but I
think it can be implemented), you should wait until the transmission
is done. If we don't wait we fill framebuffers on the hardware while
the hardware is transmitting the framebuffer which is... bad.

Please implement it so that we have a synchronous api above the
asynchronous transmit api.

- Alex



[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux