Commit 48dec8d
bonding: only set speed/duplex to unknown, if getting speed failed
bond_update_speed_duplex() first set speed/duplex to unknown and
then asks slave driver for current speed/duplex. Since getting
speed/duplex might take longer there is a race, where this false state
is visible by /proc/net/bonding. With commit 691b2bf ("bonding:
update port speed when getting bond speed") this race gets more visible,
if user space is calling ethtool on a regular base.
Fix this by only setting speed/duplex to unknown, if link speed is
really unknown/unusable.
Fixes: 98f41f6 ("bonding:update speed/duplex for NETDEV_CHANGE")
Signed-off-by: Thomas Bogendoerfer <[email protected]>
Acked-by: Jay Vosburgh <[email protected]>
Reviewed-by: Nikolay Aleksandrov <[email protected]>
Reviewed-by: Hangbin Liu <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>1 parent 2d2d574 commit 48dec8d
1 file changed
Lines changed: 9 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
791 | 791 | | |
792 | 792 | | |
793 | 793 | | |
794 | | - | |
795 | | - | |
796 | | - | |
797 | 794 | | |
798 | 795 | | |
799 | | - | |
| 796 | + | |
800 | 797 | | |
801 | | - | |
| 798 | + | |
802 | 799 | | |
803 | 800 | | |
804 | 801 | | |
805 | 802 | | |
806 | 803 | | |
807 | | - | |
| 804 | + | |
808 | 805 | | |
809 | 806 | | |
810 | 807 | | |
811 | 808 | | |
812 | 809 | | |
813 | 810 | | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
814 | 817 | | |
815 | 818 | | |
816 | 819 | | |
| |||
0 commit comments