<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in f_tcm.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>d7123c77 - usb: gadget: f_tcm: Refactor goto check_condition</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/gadget/function/f_tcm.c#d7123c77</link>
        <description>usb: gadget: f_tcm: Refactor goto check_conditionMove the command initialization before the check_condition to after thegoto statement for a cleaner look. No functional change here.Signed-off-by: Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;Link: https://lore.kernel.org/r/8442364f51f2788d2a191997581a8eda7a143272.1733876548.git.Thinh.Nguyen@synopsys.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/gadget/function/f_tcm.c</description>
        <pubDate>Wed, 11 Dec 2024 00:34:20 +0000</pubDate>
        <dc:creator>Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;</dc:creator>
    </item>
<item>
        <title>de92fb3f - usb: gadget: f_tcm: Track BOT command kref</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/gadget/function/f_tcm.c#de92fb3f</link>
        <description>usb: gadget: f_tcm: Track BOT command krefSet TARGET_SCF_ACK_KREF flag and allow f_tcm to take the BOT commandreference. A usb request may be canceled, the f_tcm knows this. Let itdecides if the command should be freed. This is the same as how the UASinterface is done.Signed-off-by: Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;Link: https://lore.kernel.org/r/e791c639e91b5d91a8787f5d6902e8c58f1dc172.1733876548.git.Thinh.Nguyen@synopsys.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/gadget/function/f_tcm.c</description>
        <pubDate>Wed, 11 Dec 2024 00:34:15 +0000</pubDate>
        <dc:creator>Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;</dc:creator>
    </item>
<item>
        <title>3ce3b210 - usb: gadget: f_tcm: Requeue command request on error</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/gadget/function/f_tcm.c#3ce3b210</link>
        <description>usb: gadget: f_tcm: Requeue command request on errorIf there&apos;s error on command request, make sure to requeue to receive thenext one.Signed-off-by: Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;Link: https://lore.kernel.org/r/d4e55c13be8f83f99ee55f7b979a99e2c14fc4c8.1733876548.git.Thinh.Nguyen@synopsys.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/gadget/function/f_tcm.c</description>
        <pubDate>Wed, 11 Dec 2024 00:34:09 +0000</pubDate>
        <dc:creator>Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;</dc:creator>
    </item>
<item>
        <title>a4d7274d - usb: gadget: f_tcm: Stall on invalid CBW</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/gadget/function/f_tcm.c#a4d7274d</link>
        <description>usb: gadget: f_tcm: Stall on invalid CBWIf the BOT command CBW is invalid, make sure to respond by settingstatus endpoint STALL until the next proper CBW or reset.Signed-off-by: Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;Link: https://lore.kernel.org/r/96022e2d5225f01a20263a4ba9c2e2c8a63328b8.1733876548.git.Thinh.Nguyen@synopsys.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/gadget/function/f_tcm.c</description>
        <pubDate>Wed, 11 Dec 2024 00:34:03 +0000</pubDate>
        <dc:creator>Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;</dc:creator>
    </item>
<item>
        <title>29ed1705 - usb: gadget: f_tcm: Check overlapped command</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/gadget/function/f_tcm.c#29ed1705</link>
        <description>usb: gadget: f_tcm: Check overlapped commandIf there&apos;s an overlapped command tag, cancel the command and respondwith RC_OVERLAPPED_TAG to host.Signed-off-by: Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;Link: https://lore.kernel.org/r/6bffc2903d0cd1e7c7afca837053a48e883d8903.1733876548.git.Thinh.Nguyen@synopsys.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/gadget/function/f_tcm.c</description>
        <pubDate>Wed, 11 Dec 2024 00:33:56 +0000</pubDate>
        <dc:creator>Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;</dc:creator>
    </item>
<item>
        <title>20e9ab60 - usb: gadget: f_tcm: Handle TASK_MANAGEMENT commands</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/gadget/function/f_tcm.c#20e9ab60</link>
        <description>usb: gadget: f_tcm: Handle TASK_MANAGEMENT commandsHandle target_core_fabric_ops TASK MANAGEMENT functions and theirresponse. If a TASK MANAGEMENT command is received, the driver willinterpret the function TMF_*, translate to TMR_*, and fire off a commandwork executing target_submit_tmr(). On completion, it will handle theTASK MANAGEMENT response through uasp_send_tm_response().Signed-off-by: Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;Link: https://lore.kernel.org/r/50339586e36509dadb9c208b3314530993e673b6.1733876548.git.Thinh.Nguyen@synopsys.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/gadget/function/f_tcm.c</description>
        <pubDate>Wed, 11 Dec 2024 00:33:50 +0000</pubDate>
        <dc:creator>Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;</dc:creator>
    </item>
<item>
        <title>1d5d4e11 - usb: gadget: f_tcm: Send sense on cancelled transfer</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/gadget/function/f_tcm.c#1d5d4e11</link>
        <description>usb: gadget: f_tcm: Send sense on cancelled transferIf the transfer is cancelled due to a disconnect or driver tear down(error code -ESHUTDOWN), then just free the command. However, if it gotcancelled due to other reasons, then send a sense CHECK CONDITION statuswith TCM_CHECK_CONDITION_ABORT_CMD status to host notifying the deliveryfailure. Note that this is separate from TASK MANAGEMENT function aborttask command, which will require a separate response IU.See UAS-r04 section 8.Signed-off-by: Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;Link: https://lore.kernel.org/r/f2ae293c1fc39df4d242a2f724584bf4ec105ece.1733876548.git.Thinh.Nguyen@synopsys.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/gadget/function/f_tcm.c</description>
        <pubDate>Wed, 11 Dec 2024 00:33:44 +0000</pubDate>
        <dc:creator>Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;</dc:creator>
    </item>
<item>
        <title>47261521 - usb: gadget: f_tcm: Save CPU ID per command</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/gadget/function/f_tcm.c#47261521</link>
        <description>usb: gadget: f_tcm: Save CPU ID per commandNormally we don&apos;t care about the CPU id, but if we ever useTARGET_SCF_USE_CPUID, then we need to save the cpuid.Signed-off-by: Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;Link: https://lore.kernel.org/r/ab45e37314405d9cdd7a8e3b761c654400bb2270.1733876548.git.Thinh.Nguyen@synopsys.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/gadget/function/f_tcm.c</description>
        <pubDate>Wed, 11 Dec 2024 00:33:38 +0000</pubDate>
        <dc:creator>Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;</dc:creator>
    </item>
<item>
        <title>2d6d0c69 - usb: gadget: f_tcm: Stop proceeding further on -ESHUTDOWN</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/gadget/function/f_tcm.c#2d6d0c69</link>
        <description>usb: gadget: f_tcm: Stop proceeding further on -ESHUTDOWNIf the error code is -ESHUTDOWN, stop processing the request/commandfurther and prepare for teardown. -ESHUTDOWN is for device reset ordisconnection.Signed-off-by: Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;Link: https://lore.kernel.org/r/b14410cce6bc7b8a0b43da23a8e0cf1ed1fa8ab6.1733876548.git.Thinh.Nguyen@synopsys.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/gadget/function/f_tcm.c</description>
        <pubDate>Wed, 11 Dec 2024 00:33:31 +0000</pubDate>
        <dc:creator>Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;</dc:creator>
    </item>
<item>
        <title>89e4ec50 - usb: gadget: f_tcm: Cleanup requests on ep disable</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/gadget/function/f_tcm.c#89e4ec50</link>
        <description>usb: gadget: f_tcm: Cleanup requests on ep disableThere may be different reasons for the transfer to be cancelled. Don&apos;tblindly free the command without checking its status. We may still needto properly respond to cancelled command. Check and only free thecommand on endpoint disable.Signed-off-by: Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;Link: https://lore.kernel.org/r/6c4ae2b4c2a9037bdcb6f909e173a94b11f04657.1733876548.git.Thinh.Nguyen@synopsys.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/gadget/function/f_tcm.c</description>
        <pubDate>Wed, 11 Dec 2024 00:33:25 +0000</pubDate>
        <dc:creator>Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;</dc:creator>
    </item>
<item>
        <title>76003eb6 - usb: gadget: f_tcm: Handle abort command</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/gadget/function/f_tcm.c#76003eb6</link>
        <description>usb: gadget: f_tcm: Handle abort commandImplement usbg_aborted_task() to cancel aborted outstanding requests.Signed-off-by: Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;Link: https://lore.kernel.org/r/6d2a05f120a0384e36b5150b50eec53a0991f400.1733876548.git.Thinh.Nguyen@synopsys.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/gadget/function/f_tcm.c</description>
        <pubDate>Wed, 11 Dec 2024 00:33:19 +0000</pubDate>
        <dc:creator>Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;</dc:creator>
    </item>
<item>
        <title>360715d5 - usb: gadget: f_tcm: Minor cleanup redundant code</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/gadget/function/f_tcm.c#360715d5</link>
        <description>usb: gadget: f_tcm: Minor cleanup redundant codeThe status request preparation is done in uasp_prepare_status(). Removeduplicate code. No functional change here.Signed-off-by: Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;Link: https://lore.kernel.org/r/2b2200a9022296f520e26f61ed6aaa6eb34d466f.1733876548.git.Thinh.Nguyen@synopsys.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/gadget/function/f_tcm.c</description>
        <pubDate>Wed, 11 Dec 2024 00:33:13 +0000</pubDate>
        <dc:creator>Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;</dc:creator>
    </item>
<item>
        <title>70fda9e6 - usb: gadget: f_tcm: Execute command on write completion</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/gadget/function/f_tcm.c#70fda9e6</link>
        <description>usb: gadget: f_tcm: Execute command on write completionDon&apos;t just wait for the data write completion and execute the targetcommand. We need to verify if the request completed successfully and notjust sending invalid data. The verification is done in the write requestcompletion routine. Queue the same work of the command to execute thetarget_execute_cmd() on data write.Signed-off-by: Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;Link: https://lore.kernel.org/r/9f6b1c6946cf49eeba0173e405678b9b7786636b.1733876548.git.Thinh.Nguyen@synopsys.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/gadget/function/f_tcm.c</description>
        <pubDate>Wed, 11 Dec 2024 00:33:07 +0000</pubDate>
        <dc:creator>Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;</dc:creator>
    </item>
<item>
        <title>5cf091d5 - usb: gadget: f_tcm: Return ATA cmd direction</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/gadget/function/f_tcm.c#5cf091d5</link>
        <description>usb: gadget: f_tcm: Return ATA cmd directionCheck ATA Pass-Through for direction.Signed-off-by: Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;Link: https://lore.kernel.org/r/c22215f7925581684a13eae9a14afb47fb60c061.1733876548.git.Thinh.Nguyen@synopsys.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/gadget/function/f_tcm.c</description>
        <pubDate>Wed, 11 Dec 2024 00:33:01 +0000</pubDate>
        <dc:creator>Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;</dc:creator>
    </item>
<item>
        <title>0d2d759c - usb: gadget: f_tcm: Handle multiple commands in parallel</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/gadget/function/f_tcm.c#0d2d759c</link>
        <description>usb: gadget: f_tcm: Handle multiple commands in parallelResubmit command on completion to fetch more commands and service themin parallel. Increase the number of work in a queue. Each work will befor each command allowing them to be processed concurrently. Also, setthem to be unbounded by cpu to improve performance.Signed-off-by: Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;Link: https://lore.kernel.org/r/933cf7191b672bf4cfbea4df19af1b08dc1baca9.1733876548.git.Thinh.Nguyen@synopsys.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/gadget/function/f_tcm.c</description>
        <pubDate>Wed, 11 Dec 2024 00:32:49 +0000</pubDate>
        <dc:creator>Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;</dc:creator>
    </item>
<item>
        <title>a570559a - usb: gadget: f_tcm: Allocate matching number of commands to streams</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/gadget/function/f_tcm.c#a570559a</link>
        <description>usb: gadget: f_tcm: Allocate matching number of commands to streamsWe can handle multiple commands concurently. Each command services astream id. At the moment, the driver will handle 32 outstanding streams,which is equivalent to 32 commands. Make sure to allocate a matchingnumber of commands to the number of streams.Signed-off-by: Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;Link: https://lore.kernel.org/r/2d806120dcc10c88fef21865b7bc1d2b6604fe42.1733876548.git.Thinh.Nguyen@synopsys.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/gadget/function/f_tcm.c</description>
        <pubDate>Wed, 11 Dec 2024 00:32:43 +0000</pubDate>
        <dc:creator>Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;</dc:creator>
    </item>
<item>
        <title>34579e98 - usb: gadget: f_tcm: Don&apos;t set static stream_id</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/gadget/function/f_tcm.c#34579e98</link>
        <description>usb: gadget: f_tcm: Don&apos;t set static stream_idHost can assign stream ID value greater than number of streamsallocated. The tcm function needs to keep track of which stream isavailable to assign the stream ID. This patch doesn&apos;t track that, but atleast it makes sure that there&apos;s no Oops if the host send tag with avalue greater than the number of supported streams.Signed-off-by: Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;Link: https://lore.kernel.org/r/d57b7dfd228199cef811206b1b83ec649f742752.1733876548.git.Thinh.Nguyen@synopsys.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/gadget/function/f_tcm.c</description>
        <pubDate>Wed, 11 Dec 2024 00:32:37 +0000</pubDate>
        <dc:creator>Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;</dc:creator>
    </item>
<item>
        <title>1f0d96f5 - usb: gadget: f_tcm: Get stream by sbitmap number</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/gadget/function/f_tcm.c#1f0d96f5</link>
        <description>usb: gadget: f_tcm: Get stream by sbitmap numberWe prepare same number of sbitmap as the number of streams. Use thereturned sbitmap number as index to the selected stream for a usbg_cmd.Signed-off-by: Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;Link: https://lore.kernel.org/r/169f67261162c16342bc8543db93c259b05ead0b.1733876548.git.Thinh.Nguyen@synopsys.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/gadget/function/f_tcm.c</description>
        <pubDate>Wed, 11 Dec 2024 00:32:31 +0000</pubDate>
        <dc:creator>Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;</dc:creator>
    </item>
<item>
        <title>d0c188cd - usb: gadget: f_tcm: Increase bMaxBurst</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/gadget/function/f_tcm.c#d0c188cd</link>
        <description>usb: gadget: f_tcm: Increase bMaxBurstCurrently the default bMaxBurst is 0. Set default bMaxBurst to 15 (i.e.16 bursts) to Data IN and OUT endpoints to improve performance. Itshould be fine for a controller that supports less than 16 bursts. Itshould be able to negotiate properly with the host at packet level forthe end of burst.If the controller can&apos;t handle a burst of 16, and high performance isn&apos;timportant, the user can use BOT protocol from mass_storage gadget driverinstead.Signed-off-by: Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;Link: https://lore.kernel.org/r/9d6265db4d138e542f281988362bc4392b034d43.1733876548.git.Thinh.Nguyen@synopsys.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/gadget/function/f_tcm.c</description>
        <pubDate>Wed, 11 Dec 2024 00:32:19 +0000</pubDate>
        <dc:creator>Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;</dc:creator>
    </item>
<item>
        <title>94d9bf67 - usb: gadget: f_tcm: Don&apos;t prepare BOT write request twice</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/gadget/function/f_tcm.c#94d9bf67</link>
        <description>usb: gadget: f_tcm: Don&apos;t prepare BOT write request twiceThe duplicate kmalloc here is causing memory leak. The requestpreparation in bot_send_write_request is also done inusbg_prepare_w_request. Remove the duplicate work.Fixes: c52661d60f63 (&quot;usb-gadget: Initial merge of target module for UASP + BOT&quot;)Cc: stable@vger.kernel.orgSigned-off-by: Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;Link: https://lore.kernel.org/r/f4f26c3d586cde0d46f8c3bcb4e8ae32311b650d.1733876548.git.Thinh.Nguyen@synopsys.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/gadget/function/f_tcm.c</description>
        <pubDate>Wed, 11 Dec 2024 00:32:07 +0000</pubDate>
        <dc:creator>Thinh Nguyen &lt;Thinh.Nguyen@synopsys.com&gt;</dc:creator>
    </item>
</channel>
</rss>
