]> www.infradead.org Git - users/jedix/linux-maple.git/commit
bnx2x: Correct asymmetric flow-control
authorYuval Mintz <Yuval.Mintz@qlogic.com>
Thu, 25 Jun 2015 12:19:21 +0000 (15:19 +0300)
committerDan Duval <dan.duval@oracle.com>
Mon, 19 Oct 2015 21:59:14 +0000 (17:59 -0400)
commita0faf9411eea3b239ae72c7e5e6555fdfd21016f
tree1d193b1bfebfe1060557ca4e65946d24809efac1
parent6891fc6a89ef2f0092637b522d521a7f5d6d3e7b
bnx2x: Correct asymmetric flow-control

Orabug: 22066196

This fixes several issues relating to asymmetric configuration:
 1. When user requests to disable TX, the local-device needs to
    advertise both PAUSE and ASM_DIR, but to avoid transmitting pause
    frames. In the 578xx, it would ignore the TX disable.

 2. When user advertises RX-only, ASM_DIR was advertised instead of
    PAUSE/ASM_DIR.

 3. When changing mode, the advertised PAUSE/ASM_DIR was not cleared
    before setting new one, so disabling RX or TX had no impact on the
    'advertised' as appeared in the 'ethtool -a' output.

Signed-off-by: Yaniv Rosner <Yaniv.Rosner@qlogic.com>
Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 1359d73c1d6fa737545d946f9bcb4b9a6b13a6ea)

Signed-off-by: Dan Duval <dan.duval@oracle.com>
drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c