Hi,
On Wed, Sep 09, 2020 at 06:36:59PM +0200, Takashi Iwai wrote:
The tasklet is an old API that should be deprecated, usually can be converted to another decent API. In FireWire driver, a tasklet is still used for offloading the AMDTP PCM stream handling. It can be achieved gracefully with a work queued, too.
This patch replaces the tasklet usage in firewire-lib driver with a simple work. The conversion is fairly straightforward but for the in_interrupt() checks that are replaced with the check using the current_work().
Note that in_interrupt() in amdtp_packet tracepoint is still kept as is. This is the place that is probed by both softirq of 1394 OHCI and a user task of a PCM application, and the work handling is already filtered in amdtp_domain_stream_pcm_pointer().
Signed-off-by: Takashi Iwai tiwai@suse.de
v1->v2: Drop in_interrupt() conversion in tracepoint
sound/firewire/amdtp-stream.c | 25 +++++++++++++------------ sound/firewire/amdtp-stream.h | 2 +- 2 files changed, 14 insertions(+), 13 deletions(-)
The v2 patch looks good to me.
Tested-by: Takashi Sakamoto o-takashi@sakamocchi.jp Acked-by: Takashi Sakamoto o-takashi@sakamocchi.jp
Thanks for your work!
Regards
Takashi Sakamoto