usb: gadget: f_tcm: Track BOT command kref

Set TARGET_SCF_ACK_KREF flag and allow f_tcm to take the BOT command
reference. A usb request may be canceled, the f_tcm knows this. Let it
decides if the command should be freed. This is the same as how the UAS
interface is done.

Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Link: https://lore.kernel.org/r/e791c639e91b5d91a8787f5d6902e8c58f1dc172.1733876548.git.Thinh.Nguyen@synopsys.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
pull/1134/merge
Thinh Nguyen 2024-12-11 00:34:15 +00:00 committed by Greg Kroah-Hartman
parent 3ce3b2108f
commit de92fb3fc2
1 changed files with 2 additions and 1 deletions

View File

@ -1466,6 +1466,7 @@ static void bot_cmd_work(struct work_struct *work)
struct se_cmd *se_cmd;
struct tcm_usbg_nexus *tv_nexus;
struct usbg_tpg *tpg;
int flags = TARGET_SCF_ACK_KREF;
int dir;
/*
@ -1494,7 +1495,7 @@ static void bot_cmd_work(struct work_struct *work)
target_submit_cmd(se_cmd, tv_nexus->tvn_se_sess,
cmd->cmd_buf, cmd->sense_iu.sense, cmd->unpacked_lun,
cmd->data_len, cmd->prio_attr, dir, 0);
cmd->data_len, cmd->prio_attr, dir, flags);
return;
out: