1
linux/drivers/net
Vladimir Sokolovsky 2d92865158 mlx4_core: Use MOD_STAT_CFG command to get minimal page size
There was a bug in some versions of the mlx4 driver in
mlx4_alloc_fmr(), which hardcoded the minimum acceptable page_shift to
be 12.  However, new ConnectX firmware can support a minimum
page_shift of 9 (log_pg_sz of 9 returned by QUERY_DEV_LIM) -- so with
old drivers, ib_fmr_alloc() would fail for ULPs using the device
minimum when creating FMRs.

To preserve firmware compatibility with released mlx4 drivers, the
firmware will continue to return 12 as before for log_page_sz in
QUERY_DEV_CAP for these drivers.  However, to enable new drivers to
take advantage of the available smaller page size, the mlx4 driver now
first sets the log_pg_sz to the device minimum by setting a
log_page_sz value to 0 via the MOD_STAT_CFG command and then reading
the real minimum via QUERY_DEV_CAP.

Signed-off-by: Jack Morgenstein <jackm@mellanox.co.il>
Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2008-07-14 23:48:53 -07:00
..
appletalk fix warning in drivers/net/appletalk/cops.c 2008-05-06 12:16:24 -04:00
arcnet
arm [ARM] rpc: etherh: fix unused variable warning 2008-07-03 14:25:56 +01:00
atlx atl1: relax eeprom mac address error check 2008-06-17 23:09:21 -04:00
bonding bonding: handle case of device named bonding_master 2008-05-14 22:35:04 -07:00
can
chelsio
cris
cxgb3 RDMA/cxgb3: Fixes for zero STag 2008-07-14 23:48:53 -07:00
e1000 e1000: only enable TSO6 via ethtool when using correct hardware 2008-06-27 01:31:08 -04:00
e1000e e1000e: fix EEH recovery during reset on PPC 2008-06-27 01:27:48 -04:00
ehea ehea: Access iph->tot_len with correct endianness 2008-07-04 08:15:28 -04:00
fec_8xx
fs_enet fs_enet: restore promiscuous and multicast settings in restart() 2008-07-04 08:21:53 -04:00
hamradio hamradio: remove unused variable 2008-06-27 17:22:08 -07:00
ibm_emac
ibm_newemac ibm_newemac: Fixes entry of short packets 2008-07-04 08:17:20 -04:00
igb igb: fix EEH recovery during reset on PPC 2008-06-27 01:27:47 -04:00
irda Merge branch 'for-2.6.27' of git://git.infradead.org/users/dwmw2/firmware-2.6 2008-07-14 16:54:07 -07:00
ixgb ixgb: convert uint16_t style integers to u16 2008-04-16 20:41:44 -04:00
ixgbe ixgbe: fix EEH recovery during reset on PPC 2008-06-27 01:27:46 -04:00
ixp2000
mlx4 mlx4_core: Use MOD_STAT_CFG command to get minimal page size 2008-07-14 23:48:53 -07:00
myri10ge myri10ge: treat firmware data as const 2008-07-10 14:26:04 +01:00
netxen [netdrvr] netxen: fix netxen_pci_tbl[] breakage 2008-06-27 01:30:46 -04:00
pcmcia pcnet_cs, axnet_cs: clear bogus interrupt before request_irq 2008-06-27 01:28:21 -04:00
phy phylib: do EXPORT_SYMBOL on get_phy_id 2008-05-22 14:01:01 -04:00
sfc sfc: Recover from RX queue flush failure 2008-06-10 18:20:21 -04:00
skfp
tokenring smctr: use request_firmware() 2008-07-10 14:47:50 +01:00
tulip net: Eliminate flush_scheduled_work() calls while RTNL is held. 2008-06-12 02:22:02 -07:00
usb kaweth: use request_firmware() 2008-07-10 14:47:51 +01:00
wan Merge commit 'v2.6.26' into bkl-removal 2008-07-14 15:29:34 -06:00
wireless Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 2008-07-14 15:51:11 -07:00
3c59x.c [netdrvr] 3c59x: remove irqs_disabled warning from local_bh_enable 2008-06-27 01:30:33 -04:00
3c501.c
3c501.h
3c503.c
3c503.h
3c505.c 3c505: use netstats in net_device structure 2008-04-29 01:55:11 -04:00
3c505.h 3c505: use netstats in net_device structure 2008-04-29 01:55:11 -04:00
3c507.c
3c509.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-05-26 10:14:02 -07:00
3c515.c 3c515: use netstats in net_device structure 2008-04-29 01:55:14 -04:00
3c523.c
3c523.h
3c527.c Convert asm/semaphore.h users to linux/semaphore.h 2008-04-18 22:22:54 -04:00
3c527.h
7990.c add missing lance_* exports 2008-06-10 18:20:17 -04:00
7990.h
8139cp.c
8139too.c
8390.c net: fix returning void-valued expression warnings 2008-05-01 02:47:38 -07:00
8390.h
82596.c m68k: Some network drivers do not check the platform 2008-05-18 13:28:49 -07:00
a2065.c
a2065.h
ac3200.c
acenic_firmware.h
acenic.c
acenic.h
amd8111e.c
amd8111e.h
apne.c m68k: Some network drivers do not check the platform 2008-05-18 13:28:49 -07:00
ariadne.c
ariadne.h
at1700.c
atarilance.c
atp.c
atp.h
au1000_eth.c au1000_eth: remove useless check 2008-05-22 06:20:14 -04:00
au1000_eth.h
ax88796.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
b44.c
b44.h
bfin_mac.c Blackfin EMAC Driver: Removed duplicated include <linux/ethtool.h> 2008-05-22 06:20:11 -04:00
bfin_mac.h Blackfin EMAC Driver: code cleanup 2008-04-29 01:56:14 -04:00
bmac.c
bmac.h
bnx2_fw2.h bnx2: Update RV2P firmware for 5709. 2008-05-02 16:57:59 -07:00
bnx2_fw.h
bnx2.c net: Eliminate flush_scheduled_work() calls while RTNL is held. 2008-06-12 02:22:02 -07:00
bnx2.h net: Eliminate flush_scheduled_work() calls while RTNL is held. 2008-06-12 02:22:02 -07:00
bnx2x_fw_defs.h
bnx2x_hsi.h
bnx2x_init_values.h
bnx2x_init.h bnx2x: Updating the Maintainer 2008-06-12 14:30:28 -07:00
bnx2x_reg.h
bnx2x.c bnx2x: Updating the Maintainer 2008-06-12 14:30:28 -07:00
bnx2x.h bnx2x: Updating the Maintainer 2008-06-12 14:30:28 -07:00
bsd_comp.c
cassini.c cassini: Only use chip checksum for ipv4 packets. 2008-05-21 17:05:34 -07:00
cassini.h
cpmac.c cpmac bugfixes and enhancements 2008-05-22 06:20:02 -04:00
cs89x0.c [netdrvr] CS89X0: Add cleanup for dma after fail 2008-05-30 22:07:11 -04:00
cs89x0.h
de600.c
de600.h
de620.c
de620.h
declance.c
defxx.c
defxx.h
depca.c
depca.h
dl2k.c
dl2k.h
dm9000.c [netdrvr] dm9000: use delayed work to update mii phy state fix 2008-05-22 06:03:28 -04:00
dm9000.h
dummy.c
e100.c e100: Do pci_dma_sync after skb_alloc for proper operation on ixp4xx 2008-06-27 01:30:59 -04:00
e2100.c
eepro100.c
eepro.c net: eepro autoport typo 2008-04-29 01:56:01 -04:00
eexpress.c [netdrvr] eexpress: IPv6 fails - multicast problems 2008-05-06 12:22:34 -04:00
eexpress.h
enc28j60_hw.h
enc28j60.c net/enc28j60: low power mode 2008-06-17 23:07:29 -04:00
epic100.c
eql.c
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c
fec_mpc52xx_phy.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-04-17 23:56:30 -07:00
fec_mpc52xx.c fec_mpc52xx: MPC52xx_MESSAGES_DEFAULT: 2nd NETIF_MSG_IFDOWN => IFUP 2008-06-11 22:24:42 -04:00
fec_mpc52xx.h [POWERPC] mpc5200: Allow for fixed speed MII configurations 2008-05-01 11:05:58 -06:00
fec.c m68knommu: fix FEC driver locking 2008-05-01 08:08:36 -07:00
fec.h m68knommu: fix ColdFire 5272 fec driver hash registers 2008-05-01 08:08:36 -07:00
forcedeth.c forcedeth: fix lockdep warning on ethtool -s 2008-07-04 08:09:52 -04:00
gianfar_ethtool.c
gianfar_mii.c [netdrvr] gianfar: Determine TBIPA value dynamically 2008-04-29 01:57:57 -04:00
gianfar_mii.h [netdrvr] gianfar: Determine TBIPA value dynamically 2008-04-29 01:57:57 -04:00
gianfar_sysfs.c gianfar: Fix a locking bug in gianfar's sysfs code 2008-05-06 12:01:34 -04:00
gianfar.c gianfar: Fix a bug where the pointer never moves for dma_unmap... 2008-05-13 01:31:38 -04:00
gianfar.h gianfar: Fix a locking bug in gianfar's sysfs code 2008-05-06 12:01:34 -04:00
hamachi.c net: use get/put_unaligned_* helpers 2008-04-29 08:06:27 -07:00
hp100.c
hp100.h
hp-plus.c
hp.c
hplance.c
hplance.h
hydra.c
ibmlana.c
ibmlana.h
ibmveth.c netdev: use non-racy method for proc entries creation 2008-04-29 08:06:22 -07:00
ibmveth.h
ifb.c
ioc3-eth.c
ipg.c ipg: use NULL, not zero, for pointers 2008-06-27 01:28:31 -04:00
ipg.h
isa-skeleton.c
iseries_veth.c [POWERPC] properly declare onstack completion in iseries veth 2008-04-17 07:46:11 +10:00
jazzsonic.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
Kconfig Merge branches 'at91', 'dyntick', 'ep93xx', 'iop', 'ixp', 'misc', 'orion', 'omap-reviewed', 'rpc', 'rtc' and 's3c' into devel 2008-07-10 16:38:50 +01:00
korina.c korina: misc cleanup 2008-04-25 02:08:51 -04:00
lance.c
lasi_82596.c
lib8390.c
lib82596.c
LICENSE.SRC
lne390.c
loopback.c
lp486e.c
mac89x0.c m68k: Some network drivers do not check the platform 2008-05-18 13:28:49 -07:00
mac8390.c
macb.c macb: Basic suspend/resume support 2008-07-02 11:05:00 +02:00
macb.h
mace.c
mace.h
macmace.c m68k: Some network drivers do not check the platform 2008-05-18 13:28:49 -07:00
macsonic.c
macvlan.c macvlan: Fix memleak on device removal/crash on module removal 2008-05-08 01:13:31 -07:00
Makefile Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-04-30 08:45:48 -07:00
meth.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
meth.h
mii.c
mipsnet.c
mv643xx_eth.c mv643xx_eth: inter-mv643xx SMI port sharing 2008-04-28 21:17:07 -07:00
mvme147.c
myri_code.h
myri_sbus.c
myri_sbus.h
natsemi.c natsemi: fix MMIO for PPC 44x platforms 2008-04-17 15:31:31 -04:00
ne2.c
ne2k-pci.c
ne3210.c
ne-h8300.c
ne.c
netconsole.c
netx-eth.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
niu.c niu: Determine the # of ports from the card's VPD data 2008-05-12 03:10:59 -07:00
niu.h niu: Determine the # of ports from the card's VPD data 2008-05-12 03:10:59 -07:00
ns83820.c
pasemi_mac_ethtool.c
pasemi_mac.c pasemi_mac: Access iph->tot_len with correct endianness 2008-07-04 08:15:31 -04:00
pasemi_mac.h
pci-skeleton.c
pcnet32.c pcnet32: fix warning 2008-05-22 06:03:29 -04:00
plip.c
ppp_async.c tty: add throttle/unthrottle helpers 2008-04-30 08:29:47 -07:00
ppp_deflate.c
ppp_generic.c Add a bunch of cycle_kernel_lock() calls 2008-06-20 14:05:53 -06:00
ppp_mppe.c
ppp_mppe.h
ppp_synctty.c tty: add throttle/unthrottle helpers 2008-04-30 08:29:47 -07:00
pppoe.c pppoe: warning fix 2008-06-20 21:58:02 -07:00
pppol2tp.c l2tp: Fix potential memory corruption in pppol2tp_recvmsg() 2008-06-10 12:35:00 -07:00
pppox.c
ps3_gelic_net.c
ps3_gelic_net.h
ps3_gelic_wireless.c PS3: gelic: fix memory leak 2008-05-12 21:44:41 -04:00
ps3_gelic_wireless.h
qla3xxx.c qla3xxx: Hold RTNL while calling dev_close() 2008-06-27 01:31:50 -04:00
qla3xxx.h
r6040.c drivers/net/r6040.c: Eliminate double sizeof 2008-06-27 01:28:25 -04:00
r8169.c r8169: fix oops in r8169_get_mac_version 2008-04-17 22:48:41 +02:00
rionet.c [RAPIDIO] Auto-probe the RapidIO system size 2008-04-29 19:40:28 +10:00
rrunner.c
rrunner.h
s2io-regs.h S2io: Added napi support when MSIX is enabled. 2008-05-22 06:26:21 -04:00
s2io.c [netdrvr] Fix IOMMU overflow checking in s2io.c 2008-06-27 01:31:22 -04:00
s2io.h [netdrvr] Fix IOMMU overflow checking in s2io.c 2008-06-27 01:31:22 -04:00
saa9730.c
saa9730.h
sb1000.c sb1000.c: make const arrays static 2008-04-16 20:41:44 -04:00
sb1250-mac.c sb1250: use netdev_alloc_skb 2008-05-22 06:18:55 -04:00
sc92031.c sc92031: remove bogus unlikely() 2008-05-30 22:07:17 -04:00
seeq8005.c
seeq8005.h
sgiseeq.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
sgiseeq.h
sis190.c sis190: account for Tx errors 2008-04-27 18:19:08 +02:00
sis900.c
sis900.h
skge.c
skge.h
sky2.c sky2: 88E8040T pci device id 2008-06-17 23:07:03 -04:00
sky2.h sky2: fix simple define thinko 2008-05-13 01:31:44 -04:00
slhc.c
slip.c tty: The big operations rework 2008-04-30 08:29:47 -07:00
slip.h
smc91x.c net: Eliminate flush_scheduled_work() calls while RTNL is held. 2008-06-12 02:22:02 -07:00
smc91x.h smc91x: fix build error from the SMC_GET_MAC_ADDR API change 2008-06-11 08:38:18 -07:00
smc911x.c net: Eliminate flush_scheduled_work() calls while RTNL is held. 2008-06-12 02:22:02 -07:00
smc911x.h
smc9194.c
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.c
sni_82596.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
sonic.c
sonic.h
Space.c
spider_net_ethtool.c
spider_net.c spidernet: revise link status logging 2008-04-16 20:06:50 -04:00
spider_net.h spidernet: change interrupt masks 2008-04-16 20:06:50 -04:00
starfire_firmware.h
starfire_firmware.pl
starfire.c
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c m68k: Some network drivers do not check the platform 2008-05-18 13:28:49 -07:00
sunbmac.c
sunbmac.h
sundance.c
sungem_phy.c
sungem_phy.h
sungem.c
sungem.h
sunhme.c sunhme: Cleanup use of deprecated calls to save_and_cli and restore_flags. 2008-06-04 12:06:28 -07:00
sunhme.h
sunlance.c
sunqe.c
sunqe.h
sunvnet.c
sunvnet.h
tc35815.c tc35815: Fix receiver hangup on Rx FIFO overflow 2008-06-27 01:27:43 -04:00
tehuti_fw.h
tehuti.c drivers/net/tehuti: use proper capability check for raw IO access 2008-04-29 11:45:16 -07:00
tehuti.h
tg3.c tg3: Update version to 3.92.1 2008-06-09 15:41:33 -07:00
tg3.h tg3: Add link state reporting to UMP firmware 2008-05-02 16:49:29 -07:00
tlan.c
tlan.h
tsi108_eth.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
tsi108_eth.h
tun.c Merge commit 'v2.6.26' into bkl-removal 2008-07-14 15:29:34 -06:00
typhoon-firmware.h
typhoon.c [netdrvr] typhoon: typhoon_resume - remove call to start_queue 2008-04-25 02:08:08 -04:00
typhoon.h
ucc_geth_ethtool.c ucc_geth_ethtool: Add a missing HW stats counter 2008-05-30 22:07:24 -04:00
ucc_geth_mii.c ucc_geth: Fix a bunch of sparse warnings 2008-05-06 12:02:08 -04:00
ucc_geth_mii.h
ucc_geth.c ucc_geth: Fix arguments to dma map/unmap functions 2008-05-22 06:19:24 -04:00
ucc_geth.h ucc_geth: Fix a bunch of sparse warnings 2008-05-06 12:02:08 -04:00
veth.c
via-rhine.c
via-velocity.c via-velocity: fix vlan receipt 2008-04-25 02:45:23 -04:00
via-velocity.h
virtio_net.c virtio: use callback on empty in virtio_net 2008-06-10 18:20:32 -04:00
wd.c
xen-netfront.c xen: Avoid allocations causing swap activity on the resume path 2008-07-03 13:21:13 +02:00
yellowfin.c net: use get/put_unaligned_* helpers 2008-04-29 08:06:27 -07:00
znet.c
zorro8390.c