• Bhaktipriya Shridhar's avatar
    libertas: Remove create_workqueue · f9f905b0
    Bhaktipriya Shridhar authored
    alloc_workqueue replaces deprecated create_workqueue().
    
    In if_sdio.c, the workqueue card->workqueue has workitem
    &card->packet_worker, which is mapped to if_sdio_host_to_card_worker.
    The workitem is involved in sending packets to firmware.
    Forward progress under memory pressure is a requirement here.
    
    In if_spi.c, the workqueue card->workqueue has workitem
    &card->packet_worker, which is mapped to if_spi_host_to_card_worker.
    The workitem is involved in sending command packets from the host.
    Forward progress under memory pressure is a requirement here.
    
    Dedicated workqueues have been used in both cases since the workitems
    on the workqueues are involved in normal device operation with
    WQ_MEM_RECLAIM set to gurantee forward progress under memory pressure.
    Since there are only a fixed number of work items, explicit concurrency
    limit is unnecessary.
    
    flush_workqueue is unnecessary since destroy_workqueue() itself calls
    drain_workqueue() which flushes repeatedly till the workqueue
    becomes empty. Hence the calls to flush_workqueue() before
    destroy_workqueue() have been dropped.
    Signed-off-by: default avatarBhaktipriya Shridhar <bhaktipriya96@gmail.com>
    Acked-by: default avatarTejun Heo <tj@kernel.org>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    f9f905b0
if_spi.c 31.5 KB