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
parent
3ce3b2108f
commit
de92fb3fc2
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Reference in New Issue