- Feb 21, 2017
-
-
David S. Miller authored
Michael Chan says: ==================== bnxt_en: Fix probe and open bugs. Fix 3 issues related to bnxt_init_one() and bnxt_open(). Don't probe bridge devices and fixup some error code paths. ==================== Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Sathya Perla authored
In the bnxt_init_one() failure path, bar1 and bar2 are not being unmapped. This commit fixes this issue. Reorganize the code so that bnxt_init_one()'s failure path and bnxt_remove_one() can call the same function to do the PCI cleanup. Signed-off-by:
Michael Chan <michael.chan@broadcom.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Michael Chan authored
If bnxt_hwrm_ring_free() is called during a failure path in bnxt_open(), it is possible that the completion rings have not been allocated yet. In that case, the completion doorbell has not been initialized, and calling bnxt_disable_int() will crash. Fix it by checking that the completion ring has been initialized before writing to the completion ring doorbell. Signed-off-by:
Michael Chan <michael.chan@broadcom.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Ray Jui authored
There are additional SoC devices that use the same device ID for bridge and NIC devices. The bnxt driver should reject probe against all bridge devices since it's meant to be used with only endpoint devices. Signed-off-by:
Ray Jui <ray.jui@broadcom.com> Signed-off-by:
Michael Chan <michael.chan@broadcom.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Yuval Mintz says: ==================== qed*: Bug fixes This is a respin of the series with same name for net-next instead of net [only patch #10 is changed]. The 3 first patches here are a repost of ("qed: RoCE infrastructure fixes"). The fourth is an additional RoCE-related infrastructure fix, and the latter contain various fixes to qed/qede. Please consider applying these to `net-next'. ==================== Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Mintz, Yuval authored
Driver changes the link properties via communication with the management firmware, and re-reads the resulting link status when it receives an indication that the link has changed. However, there are certain scenarios where such indications might be missing, and so driver also re-reads the current link results without attention in several places. Specifically, it does so during load and when resetting the link. This creates a race where driver might reflect incorrect link status - e.g., when explicit reading of the link status is switched by attention with the changed configuration. Correct this flow by a lock syncronizing the handling of the link indications [both explicit requests and attention]. Signed-off-by:
Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Mintz, Yuval authored
Flows accessing registers require the flow to hold a PTT entry. To protect 'major' load/unload flows a main_ptt is pre-allocated to guarantee such flows wouldn't be blocked by PTT being unavailable. Status block initialization currently uses the main_ptt which is incorrect, as this flow might run concurrently to others [E.g., loading qedr while toggling qede]. That would have dire effects as it means registers' access to device breaks and further read/writes might access incorrect addresses. Instead, when initializing status blocks acquire/release a PTT as part of the flow. Signed-off-by:
Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Sudarsana Reddy Kalluru authored
Driver currently utilizes the same loop variable in two nested loops. Signed-off-by:
Sudarsana Reddy Kalluru <Sudarsana.Kalluru@cavium.com> Signed-off-by:
Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Mintz, Yuval authored
VF learns of the current link state via its bulletin board, which might reflect either the physical link state or some user-configured logical state. Whenever the physical link changes or whnever such a configuration is explicitly made by user the PF driver would update the bulletin that the VF reads. But if neither has happened - i.e., PF still hasn't got a physical link up and no additional configuration was done the VF wouldn't have a valid link information available. Simply reflect the physical link state whenever the VF is initialized. The user could then affect it however he wants. Signed-off-by:
Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Mintz, Yuval authored
qed needs to be informed of the removal of the qede interface prior to its actual removal, as qede has some registered callbacks that might get called async to the removal flow. Signed-off-by:
Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Mintz, Yuval authored
Need to make sure the slowpath workqueue and the qede lock are ready for the registration of the netdevice, as once registered there's no guarantee those wouldn't be used. Signed-off-by:
Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Ram Amrani authored
Reserving doorbell BAR space according to the currently active CPUs may result in a bug if disabled CPUs are later enabled but no doorbell space was reserved for them. Signed-off-by:
Ram Amrani <Ram.Amrani@cavium.com> Signed-off-by:
Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Ram Amrani authored
If QP is in reset state then there are no resources to free so avoid freeing any. Signed-off-by:
Ram Amrani <Ram.Amrani@cavium.com> Signed-off-by:
Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Ram Amrani authored
Currently the state is read only after the buffers are relesed. Signed-off-by:
Ram Amrani <Ram.Amrani@cavium.com> Signed-off-by:
Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Ram Amrani authored
The CQ resource pool is protected by a spin lock. When a CQ creation fails it now deallocates under that lock as well. Signed-off-by:
Ram Amrani <Ram.Amrani@cavium.com> Signed-off-by:
Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Pavel Belous says: ==================== net: ethernet: aquantia: improvements and fixes The following patchset contains improvements and fixes for aQuantia AQtion ethernet driver from net-next tree. Most fixes are based on the comments from Lino Sanfilippo. Sanity testing was performed on real HW. No regression found. v1->v2: 1)Removed buffers copying. 2)Fixed dma error handling. v2->v3: 1)Fixes for aq_ndev_change_mtu: -Use core MTU checking for min_mtu. -Removed extra new_mtu assigment. 2)Reverse XMAS tree in aq_ring_rx_fill. v3->v4: 1)Use ndev->reg_state instead "is_ndev_registered" flag. ==================== Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Pavel Belous authored
This fix removes copying of tx biffers. Now we use ring->buff_fing directly. Signed-off-by:
Pavel Belous <pavel.belous@aquantia.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Pavel Belous authored
We should allocate the number of pages based on the config parameter AQ_CFG_RX_FRAME_MAX. Signed-off-by:
Pavel Belous <pavel.belous@aquantia.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Pavel Belous authored
rxd_wb->pkt_len is the total length of the packet. If we received a large packet (with length > AQ_CFG_RX_FRAME_MAX) then we will get multiple buffers. We need to fix the length of the last buffer. Signed-off-by:
Pavel Belous <pavel.belous@aquantia.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Pavel Belous authored
netdev_register should be called when everything is initialized. Also we should use net_device->reg_state field instead own "is_ndev_registered" flag to avoid any race. Signed-off-by:
Pavel Belous <pavel.belous@aquantia.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Pavel Belous authored
We should check for a null pointer for aq_nic_ndev_alloc instead netdev_priv. Signed-off-by:
Pavel Belous <pavel.belous@aquantia.com> Reviewed-by:
Lino Sanfilippo <LinoSanfilippo@gmx.de> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Pavel Belous authored
Use NETDEV_TX_OK as the return value for successful transmission. Signed-off-by:
Pavel Belous <pavel.belous@aquantia.com> Reviewed-by:
Lino Sanfilippo <LinoSanfilippo@gmx.de> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Pavel Belous authored
rtnl_unlock should be called if error occurred. Signed-off-by:
Pavel Belous <pavel.belous@aquantia.com> Reviewed-by:
Lino Sanfilippo <LinoSanfilippo@gmx.de> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Pavel Belous authored
Fixed superfluous initialization of err. Signed-off-by:
Pavel Belous <pavel.belous@aquantia.com> Reviewed-by:
Lino Sanfilippo <LinoSanfilippo@gmx.de> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Pavel Belous authored
Remove boilerplate code by using macro module_pci_driver. Signed-off-by:
Pavel Belous <pavel.belous@aquantia.com> Reviewed-by:
Lino Sanfilippo <LinoSanfilippo@gmx.de> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Pavel Belous authored
1)Removed unnecessary comparsion "old_mtu == new_mtu". This check is not needed. Function aq_ndev_change_mtu wont be called if mtu has not changed. 2)Removed extra assignment ndev->mtu = new_mtu; This assignment already done inside __dev_set_mtu(). 3)Use core MTU checking for min_mtu. Signed-off-by:
Pavel Belous <pavel.belous@aquantia.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Pavel Belous authored
busy_count field and is_busy flag is not needed at all. Signed-off-by:
Pavel Belous <pavel.belous@aquantia.com> Reviewed-by:
Lino Sanfilippo <LinoSanfilippo@gmx.de> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Pavel Belous authored
This assignment is not needed. Signed-off-by:
Pavel Belous <pavel.belous@aquantia.com> Reviewed-by:
Lino Sanfilippo <LinoSanfilippo@gmx.de> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Philippe Reynes authored
The ethtool api {get|set}_settings is deprecated. We move this driver to new api {get|set}_link_ksettings. As I don't have the hardware, I'd be very pleased if someone may test this patch. Signed-off-by:
Philippe Reynes <tremyfr@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Philippe Reynes authored
The ethtool api {get|set}_settings is deprecated. We move this driver to new api {get|set}_link_ksettings. As I don't have the hardware, I'd be very pleased if someone may test this patch. Signed-off-by:
Philippe Reynes <tremyfr@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Jakub Kicinski says: ==================== nfp: expose more firmware and hw debug info This series is mostly a result of flash firmware team requesting access to some of the information and data necessary for debugging firmware problems. Patch 1 adds a missing error message. Patch 2 prints manufacturing info to logs in case PCI VPD capability is not programmed correctly. Patches 3 and 4 allow reporting NSP ABI version in ethtool -i. Patch 5 allows dumping flash application logs. Patches 6 and 7 provides a way of application firmwares to declare limited SR-IOV support. v2: put some of the code in patch 7 in #ifdef CONFIG_PCI_SRIOV (Yuval). ==================== Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Jakub Kicinski authored
Some application firmware projects may choose to limit the number of VFs available below what is specified in PCI capability to be able to reuse the PCIe interface resources. There may also be projects which use cases don't require SR-IOV support at all and therefore don't want to spend time implementing/testing it. Check nfd_vf_cfg_max_vfs firmware symbol to see if application firmware is reporting how many VFs it supports. This mechanism is an opt-in, if symbol is not present we will only look at the PCI capability values. Signed-off-by:
Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Jakub Kicinski authored
nfp_rtsym_read_le() has an out parameter for error codes. We have to use that instead of returning errors directly. Signed-off-by:
Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Jakub Kicinski authored
Allow dumping "arm.diag" resource with ethtool -w. This resource should contain a text log of the NSP (control processor) application. Signed-off-by:
Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Jakub Kicinski authored
ethtool_drvinfo->fw_version can cantain multiple FW strings. We already report NFD ABI version there, add NSP ABI version if available (i.e. on PF) with 'sp:' prefix. Signed-off-by:
Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Jakub Kicinski authored
We read the status register on each NSP open, we can store the NSP ABI version in the state structure so that we don't have to read it again. Signed-off-by:
Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Jakub Kicinski authored
Report card manufacturing information when driver loads. These identify the version of the board and its subcomponents. Signed-off-by:
Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Jakub Kicinski authored
When acquiring NSP communication resource fails user is left with "probe failed with error -2" PCI code message but no info on what caused the problem. Some development boards may not have NSP FW in the flash image. Help users with a more verbouse message. While at it move the whole NSP init to a separate function to keep .probe() callback nice and simple. Signed-off-by:
Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next Johan Hedberg says: ==================== pull request: bluetooth-next 2017-02-19 Here's a set of Bluetooth patches for the 4.11 kernel: - New USB IDs to the btusb driver - Race fix in btmrvl driver - Added out-of-band wakeup support to the btusb driver - NULL dereference fix to bt_sock_recvmsg Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David Ahern authored
Add netconf support to MPLS. Allows userpsace to learn and be notified of changes to 'input' enable setting per interface. Acked-by:
Nicolas Dichtel <nicolas.dichtel@6wind.com> Signed-off-by:
David Ahern <dsa@cumulusnetworks.com> Acked-by:
Robert Shearman <rshearma@brocade.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-