• Hayes Wang's avatar
    r8152: break the loop when the budget is exhausted · 2cf51f93
    Hayes Wang authored
    A bulk transfer of the USB may contain many packets. And, the total
    number of the packets in the bulk transfer may be more than budget.
    
    Originally, only budget packets would be handled by napi_gro_receive(),
    and the other packets would be queued in the driver for next schedule.
    
    This patch would break the loop about getting next bulk transfer, when
    the budget is exhausted. That is, only the current bulk transfer would
    be handled, and the other bulk transfers would be queued for next
    schedule. Besides, the packets which are more than the budget in the
    current bulk trasnfer would be still queued in the driver, as the
    original method.
    
    In addition, a bulk transfer wouldn't contain more than 400 packets, so
    the check of queue length is unnecessary. Therefore, I replace it with
    WARN_ON_ONCE().
    
    Fixes: cf74eb5a ("eth: r8152: try to use a normal budget")
    Signed-off-by: default avatarHayes Wang <hayeswang@realtek.com>
    Link: https://lore.kernel.org/r/20230926111714.9448-433-nic_swsd@realtek.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    2cf51f93
r8152.c 236 KB