mirror of https://gitee.com/openkylin/linux.git
72c71f4827
The definition of slic_netdev_ops has initializations of a local function and eth_mac_addr for its ndo_set_mac_address field. This change uses only the local function. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ identifier I, s, fld; position p0,p; expression E; @@ struct I s =@p0 { ... .fld@p = E, ...}; @s@ identifier I, s, r.fld; position r.p0,p; expression E; @@ struct I s =@p0 { ... .fld@p = E, ...}; @script:python@ p0 << r.p0; fld << r.fld; ps << s.p; pr << r.p; @@ if int(ps[0].line)!=int(pr[0].line) or int(ps[0].column)!=int(pr[0].column): cocci.print_main(fld,p0) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
README | ||
slic.h | ||
slichw.h | ||
slicoss.c |
README
This driver is supposed to support: Mojave cards (single port PCI Gigabit) both copper and fiber Oasis cards (single and dual port PCI-x Gigabit) copper and fiber Kalahari cards (dual and quad port PCI-e Gigabit) copper and fiber The driver was actually tested on Oasis and Kalahari cards. TODO: - move firmware loading to request_firmware() - remove direct memory access of structures - any remaining sparse and checkpatch.pl warnings - use net_device_ops - use dev->stats rather than adapter->stats - don't cast netdev_priv it is already void - use compare_ether_addr - GET RID OF MACROS - work on all architectures - without CONFIG_X86_64 confusion - do 64 bit correctly - don't depend on order of union - get rid of ASSERT(), use BUG() instead but only where necessary looks like most aren't really useful - no new SIOCDEVPRIVATE ioctl allowed - don't use module_param for configuring interrupt mitigation use ethtool instead - reorder code to elminate use of forward declarations - don't keep private linked list of drivers. - remove all the gratiutous debug infrastructure - use PCI_DEVICE() - do ethtool correctly using ethtool_ops - NAPI? - wasted overhead of extra stats - state variables for things that are easily availble and shouldn't be kept in card structure, cardnum, ... slotnumber, events, ... - get rid of slic_spinlock wrapper - volatile == bad design => bad code - locking too fine grained, not designed just throw more locks at problem Please send patches to: Greg Kroah-Hartman <gregkh@suse.de> and Cc: Lior Dotan <liodot@gmail.com> and Christopher Harrer <charrer@alacritech.com> as well as they are also able to test out any changes.