OpenCloudOS-Kernel/drivers/net/ethernet/cavium/liquidio
Felix Manlunas 0c264588b5 liquidio: fix VF incorrectly indicating that it successfully set its VLAN
For security reasons, NIC firmware does not allow VF to set its VLAN if PF
set it already.  Firmware allows VF to set its VLAN if PF did not set it.
After the VF instructs the firmware to set the VLAN, VF always indicates
(via return 0) that the operation is successful--even for the times when it
isn't.

Put in a mechanism for the VF's set VLAN function to receive the firmware
response code, then make that function return -EPERM if the firmware
forbids the operation.

Make that mechanism available for other functions that may, in the future,
be interested in receiving the response code from the firmware.  That
mechanism involves adding new fields to struct octnic_ctrl_pkt, so make all
users of struct octnic_ctrl_pkt initialize the struct to zero before using
it; otherwise, the mechanism might act on uninitialized garbage.

Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com>
Signed-off-by: Derek Chickles <derek.chickles@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-04-08 08:38:41 -07:00
..
Makefile liquidio CN23XX: VF config setup 2016-11-30 11:03:08 -05:00
cn23xx_pf_device.c liquidio CN23XX: copyrights changes and alignment 2016-11-15 22:24:40 -05:00
cn23xx_pf_device.h liquidio: allocate RX buffers in OOM conditions in PF and VF 2017-03-22 19:36:43 -07:00
cn23xx_pf_regs.h liquidio CN23XX: fix for new check patch errors 2016-11-15 22:24:40 -05:00
cn23xx_vf_device.c liquidio CN23XX: VF xmit 2016-12-08 13:21:39 -05:00
cn23xx_vf_device.h liquidio VF ethtool stats 2016-12-08 18:16:51 -05:00
cn23xx_vf_regs.h liquidio CN23XX: VF register definitions 2016-11-30 11:03:08 -05:00
cn66xx_device.c liquidio CN23XX: copyrights changes and alignment 2016-11-15 22:24:40 -05:00
cn66xx_device.h liquidio CN23XX: copyrights changes and alignment 2016-11-15 22:24:40 -05:00
cn66xx_regs.h liquidio CN23XX: fix for new check patch errors 2016-11-15 22:24:40 -05:00
cn68xx_device.c liquidio CN23XX: fix for new check patch errors 2016-11-15 22:24:40 -05:00
cn68xx_device.h liquidio CN23XX: copyrights changes and alignment 2016-11-15 22:24:40 -05:00
cn68xx_regs.h liquidio CN23XX: copyrights changes and alignment 2016-11-15 22:24:40 -05:00
lio_core.c liquidio: fix VF incorrectly indicating that it successfully set its VLAN 2017-04-08 08:38:41 -07:00
lio_ethtool.c liquidio: clear the correct memory 2017-04-05 06:53:42 -07:00
lio_main.c liquidio: fix VF incorrectly indicating that it successfully set its VLAN 2017-04-08 08:38:41 -07:00
lio_vf_main.c liquidio: fix VF incorrectly indicating that it successfully set its VLAN 2017-04-08 08:38:41 -07:00
liquidio_common.h liquidio: refactor interrupt moderation code 2017-03-28 22:22:03 -07:00
liquidio_image.h liquidio CN23XX: copyrights changes and alignment 2016-11-15 22:24:40 -05:00
octeon_config.h liquidio: improve UDP TX performance 2017-03-09 13:07:00 -08:00
octeon_console.c net: liquidio: fix build errors when linux/phy*.h is removed from net/dsa.h 2017-02-10 13:51:03 -05:00
octeon_device.c liquidio: optimize DMA in NUMA systems 2017-03-12 23:17:00 -07:00
octeon_device.h liquidio: fix Octeon core watchdog timeout false alarm 2017-04-06 12:31:56 -07:00
octeon_droq.c liquidio: allocate RX buffers in OOM conditions in PF and VF 2017-03-22 19:36:43 -07:00
octeon_droq.h liquidio: allocate RX buffers in OOM conditions in PF and VF 2017-03-22 19:36:43 -07:00
octeon_iq.h liquidio: optimize DMA in NUMA systems 2017-03-12 23:17:00 -07:00
octeon_mailbox.c liquidio VF: reduce load time of module 2017-01-12 15:52:56 -05:00
octeon_mailbox.h liquidio VF: reduce load time of module 2017-01-12 15:52:56 -05:00
octeon_main.h liquidio: improve UDP TX performance 2017-03-09 13:07:00 -08:00
octeon_mem_ops.c liquidio: optimize reads from Octeon PCI console 2016-12-29 22:26:03 -05:00
octeon_mem_ops.h liquidio CN23XX: copyrights changes and alignment 2016-11-15 22:24:40 -05:00
octeon_network.h liquidio: fix Octeon core watchdog timeout false alarm 2017-04-06 12:31:56 -07:00
octeon_nic.c liquidio: fix VF incorrectly indicating that it successfully set its VLAN 2017-04-08 08:38:41 -07:00
octeon_nic.h liquidio: fix VF incorrectly indicating that it successfully set its VLAN 2017-04-08 08:38:41 -07:00
request_manager.c liquidio: optimize DMA in NUMA systems 2017-03-12 23:17:00 -07:00
response_manager.c liquidio: fix for vf mac addr command sent to nic firmware 2017-03-21 17:48:29 -07:00
response_manager.h liquidio: fix for vf mac addr command sent to nic firmware 2017-03-21 17:48:29 -07:00