<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/mlx4, branch linux-2.6.30.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.30.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.30.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2009-09-24T15:27:16Z</updated>
<entry>
<title>mlx4_core: Allocate and map sufficient ICM memory for EQ context</title>
<updated>2009-09-24T15:27:16Z</updated>
<author>
<name>Roland Dreier</name>
</author>
<published>2009-09-06T03:24:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=359de899b30a6c1c18e53ca4a8e4265d9f7f67c0'/>
<id>urn:sha1:359de899b30a6c1c18e53ca4a8e4265d9f7f67c0</id>
<content type='text'>
commit fa0681d2129732027355d6b7083dd8932b9b799d upstream.

The current implementation allocates a single host page for EQ context
memory, which was OK when we only allocated a few EQs.  However, since
we now allocate an EQ for each CPU core, this patch removes the
hard-coded limit (which we exceed with 4 KB pages and 128 byte EQ
context entries with 32 CPUs) and uses the same ICM table code as all
other context tables, which ends up simplifying the code quite a bit
while fixing the problem.

This problem was actually hit in practice on a dual-socket Nehalem box
with 16 real hardware threads and sufficiently odd ACPI tables that it
shows on boot

    SMP: Allowing 32 CPUs, 16 hotplug CPUs

so num_possible_cpus() ends up 32, and mlx4 ends up creating 33 MSI-X
interrupts and 33 EQs.  This mlx4 bug means that mlx4 can't even
initialize at all on this quite mainstream system.

Reported-by: Eli Cohen &lt;eli@mellanox.co.il&gt;
Tested-by: Christoph Lameter &lt;cl@linux-foundation.org&gt;
Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>mlx4_en: Fix a kernel panic when waking tx queue</title>
<updated>2009-05-30T05:04:42Z</updated>
<author>
<name>Yevgeny Petrilin</name>
</author>
<published>2009-05-25T20:57:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=465440d2720543669841db5b0691ba41892ed0ae'/>
<id>urn:sha1:465440d2720543669841db5b0691ba41892ed0ae</id>
<content type='text'>
When the transmit queue gets full we enable interrupts for TX completions
There was a race that we handled the TX queue both from the interrupt context
and from the transmit function. Using "spin_trylock_irq()" ensures this
doesn't happen.

Signed-off-by: Yevgeny Petrilin &lt;yevgenyp@mellanox.co.il&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>mlx4_en: Fix not deleted napi structures</title>
<updated>2009-05-18T03:48:59Z</updated>
<author>
<name>Yevgeny Petrilin</name>
</author>
<published>2009-05-18T03:48:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=72876a603422d3767273ffb3918033fa1bfda0f3'/>
<id>urn:sha1:72876a603422d3767273ffb3918033fa1bfda0f3</id>
<content type='text'>
Napi structures are being created each time we open a port, but when
the port is closed the napi structure is only disabled but not removed.
This bug caused hang while removing the driver.

Signed-off-by: Yevgeny Petrilin &lt;yevgenyp@mellanox.co.il&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Remove unreached code in drivers/net/mlx4/en_rx.c</title>
<updated>2009-05-12T14:38:09Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2009-05-12T10:33:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=34fd5dad46fc494c6ed3b174b2c991ea9961ebe9'/>
<id>urn:sha1:34fd5dad46fc494c6ed3b174b2c991ea9961ebe9</id>
<content type='text'>
Remove the return after the goto.  We want the goto because it frees
memory as well as returning err.

Found by smatch (http://repo.or.cz/w/smatch.git).

Signed-off-by: Dan Carpenter &lt;error27@gmail.com&gt;
Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2009-04-29T14:55:45Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2009-04-29T14:55:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3dacbdad2401c06b97d8d754974233a70c165536'/>
<id>urn:sha1:3dacbdad2401c06b97d8d754974233a70c165536</id>
<content type='text'>
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (24 commits)
  e100: do not go D3 in shutdown unless system is powering off
  netfilter: revised locking for x_tables
  Bluetooth: Fix connection establishment with low security requirement
  Bluetooth: Add different pairing timeout for Legacy Pairing
  Bluetooth: Ensure that HCI sysfs add/del is preempt safe
  net: Avoid extra wakeups of threads blocked in wait_for_packet()
  net: Fix typo in net_device_ops description.
  ipv4: Limit size of route cache hash table
  Add reference to CAPI 2.0 standard
  Documentation/isdn/INTERFACE.CAPI
  update Documentation/isdn/00-INDEX
  ixgbe: Fix WoL functionality for 82599 KX4 devices
  veth: prevent oops caused by netdev destructor
  xfrm: wrong hash value for temporary SA
  forcedeth: tx timeout fix
  net: Fix LL_MAX_HEADER for CONFIG_TR_MODULE
  mlx4_en: Handle page allocation failure during receive
  mlx4_en: Fix cleanup flow on cq activation
  vlan: update vlan carrier state for admin up/down
  netfilter: xt_recent: fix stack overread in compat code
  ...
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband</title>
<updated>2009-04-29T00:21:07Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2009-04-29T00:21:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c2e2ceeae4b5587d412c05cdc31513179d37811d'/>
<id>urn:sha1:c2e2ceeae4b5587d412c05cdc31513179d37811d</id>
<content type='text'>
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (21 commits)
  RDMA/nes: Update iw_nes version
  RDMA/nes: Fix error path in nes_accept()
  RDMA/nes: Fix hang issues for large cluster dynamic connections
  RDMA/nes: Increase rexmit timeout interval
  RDMA/nes: Check for sequence number wrap-around
  RDMA/nes: Do not set apbvt entry for loopback
  RDMA/nes: Fix unused variable compile warning when INFINIBAND_NES_DEBUG=n
  RDMA/nes: Fix fw_ver in /sys
  RDMA/nes: Set trace length to 1 inch for SFP_D
  RDMA/nes: Enable repause timer for port 1
  RDMA/nes: Correct CDR loop filter setting for port 1
  RDMA/nes: Modify thermo mitigation to flip SerDes1 ref clk to internal
  RDMA/nes: Fix resource issues in nes_create_cq() and nes_destroy_cq()
  RDMA/nes: Remove root_256()'s unused pbl_count_256 parameter
  mlx4_core: Fix memory leak in mlx4_enable_msi_x()
  IB/mthca: Fix timeout for INIT_HCA and a few other commands
  RDMA/cxgb3: Don't zero QP attrs when moving to IDLE
  RDMA/nes: Fix bugs in nes_reg_phys_mr()
  RDMA/nes: Fix compiler warning at nes_verbs.c:1955
  IPoIB: Disable NAPI while CQ is being drained
  ...
</content>
</entry>
<entry>
<title>mlx4_en: Handle page allocation failure during receive</title>
<updated>2009-04-27T09:31:31Z</updated>
<author>
<name>Yevgeny Petrilin</name>
</author>
<published>2009-04-26T20:42:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=785a0982eaaeae2fbe3372d1c9c769e8156a7a5a'/>
<id>urn:sha1:785a0982eaaeae2fbe3372d1c9c769e8156a7a5a</id>
<content type='text'>
If we failed to allocate new fragments for receive buffer,
the packet should be dropped and packets should be reused.

Signed-off-by: Yevgeny Petrilin &lt;yevgenyp@mellanox.co.il&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>mlx4_en: Fix cleanup flow on cq activation</title>
<updated>2009-04-27T09:31:31Z</updated>
<author>
<name>Yevgeny Petrilin</name>
</author>
<published>2009-04-26T20:41:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a4233304bb43f87f97fc2ac9143b513814dcf094'/>
<id>urn:sha1:a4233304bb43f87f97fc2ac9143b513814dcf094</id>
<content type='text'>
In case of mlx4_en_activate_cq() failure, the cleanup
code would go to rx_err and try to disable unactivated rings.

Signed-off-by: Yevgeny Petrilin &lt;yevgenyp@mellanox.co.il&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>mlx4_core: Fix memory leak in mlx4_enable_msi_x()</title>
<updated>2009-04-21T17:11:06Z</updated>
<author>
<name>Nicolas Morey-Chaisemartin</name>
</author>
<published>2009-04-21T17:11:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5bf0da7dd0ae193e072412519cba1d77b6196c61'/>
<id>urn:sha1:5bf0da7dd0ae193e072412519cba1d77b6196c61</id>
<content type='text'>
When the msi_x option is enabled but pci_enable_msix() fails (not
enough vectors are available etc), the entries array was not freed on
the error path.

Signed-off-by: Nicolas Morey-Chaisemartin &lt;nicolas.morey-chaisemartin@ext.bull.net&gt;
Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
</content>
</entry>
<entry>
<title>mlx4_en: Fix cleanup if workqueue create in mlx4_en_add() fails</title>
<updated>2009-04-21T08:47:08Z</updated>
<author>
<name>Roland Dreier</name>
</author>
<published>2009-04-20T18:32:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1a44cc3778f63dca5795708da2a2a7696da7fd61'/>
<id>urn:sha1:1a44cc3778f63dca5795708da2a2a7696da7fd61</id>
<content type='text'>
If creating a workqueue fails, don't jump to the error path where that
same workqueue is destroyed, since destroy_workqueue() can't handle a
NULL pointer.

This was spotted by the Coverity checker (CID 2617).

Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
