-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
qlge: Move drivers/net/ethernet/qlogic/qlge/ to drivers/staging/qlge/
The hardware has been declared EOL by the vendor more than 5 years ago. What's more relevant to the Linux kernel is that the quality of this driver is not on par with many other mainline drivers. Cc: Manish Chopra <manishc@marvell.com> Message-id: <20190617074858.32467-1-bpoirier@suse.com> Signed-off-by: Benjamin Poirier <bpoirier@suse.com> Signed-off-by: David S. Miller <davem@davemloft.net>
- Loading branch information
Benjamin Poirier
authored and
David S. Miller
committed
Jul 23, 2019
1 parent
d5c3a62
commit 955315b
Showing
14 changed files
with
60 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# SPDX-License-Identifier: GPL-2.0 | ||
|
||
config QLGE | ||
tristate "QLogic QLGE 10Gb Ethernet Driver Support" | ||
depends on PCI | ||
help | ||
This driver supports QLogic ISP8XXX 10Gb Ethernet cards. | ||
|
||
To compile this driver as a module, choose M here. The module will be | ||
called qlge. |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
* reception stalls permanently (until admin intervention) if the rx buffer | ||
queues become empty because of allocation failures (ex. under memory | ||
pressure) | ||
* commit 7c734359d350 ("qlge: Size RX buffers based on MTU.", v2.6.33-rc1) | ||
introduced dead code in the receive routines, which should be rewritten | ||
anyways by the admission of the author himself, see the comment above | ||
ql_build_rx_skb(). That function is now used exclusively to handle packets | ||
that underwent header splitting but it still contains code to handle non | ||
split cases. | ||
* truesize accounting is incorrect (ex: a 9000B frame has skb->truesize 10280 | ||
while containing two frags of order-1 allocations, ie. >16K) | ||
* while in that area, using two 8k buffers to store one 9k frame is a poor | ||
choice of buffer size. | ||
* in the "chain of large buffers" case, the driver uses an skb allocated with | ||
head room but only puts data in the frags. | ||
* rename "rx" queues to "completion" queues. Calling tx completion queues "rx | ||
queues" is confusing. | ||
* struct rx_ring is used for rx and tx completions, with some members relevant | ||
to one case only | ||
* there is an inordinate amount of disparate debugging code, most of which is | ||
of questionable value. In particular, qlge_dbg.c has hundreds of lines of | ||
code bitrotting away in ifdef land (doesn't compile since commit | ||
18c49b91777c ("qlge: do vlan cleanup", v3.1-rc1), 8 years ago). | ||
* triggering an ethtool regdump will hexdump a 176k struct to dmesg depending | ||
on some module parameters. | ||
* the flow control implementation in firmware is buggy (sends a flood of pause | ||
frames, resets the link, device and driver buffer queues become | ||
desynchronized), disable it by default | ||
* some structures are initialized redundantly (ex. memset 0 after | ||
alloc_etherdev()) | ||
* the driver has a habit of using runtime checks where compile time checks are | ||
possible (ex. ql_free_rx_buffers(), ql_alloc_rx_buffers()) | ||
* reorder struct members to avoid holes if it doesn't impact performance | ||
* in terms of namespace, the driver uses either qlge_, ql_ (used by | ||
other qlogic drivers, with clashes, ex: ql_sem_spinlock) or nothing (with | ||
clashes, ex: struct ob_mac_iocb_req). Rename everything to use the "qlge_" | ||
prefix. | ||
* avoid legacy/deprecated apis (ex. replace pci_dma_*, replace pci_enable_msi, | ||
use pci_iomap) | ||
* some "while" loops could be rewritten with simple "for", ex. | ||
ql_wait_reg_rdy(), ql_start_rx_ring()) | ||
* remove duplicate and useless comments | ||
* fix weird line wrapping (all over, ex. the ql_set_routing_reg() calls in | ||
qlge_set_multicast_list()). | ||
* fix weird indentation (all over, ex. the for loops in qlge_get_stats()) | ||
* fix checkpatch issues |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.