<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/net/bna, branch v3.0.82</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/net/bna?h=v3.0.82</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/net/bna?h=v3.0.82'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2011-07-02T00:49:45Z</updated>
<entry>
<title>Fix call trace when interrupts are disabled while sleeping function kzalloc is called</title>
<updated>2011-07-02T00:49:45Z</updated>
<author>
<name>Shyam Iyer</name>
<email>shyam.iyer.t@gmail.com</email>
</author>
<published>2011-06-28T08:58:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5f77898de17ff983ff0e2988b73a6bdf4b6f9f8b'/>
<id>urn:sha1:5f77898de17ff983ff0e2988b73a6bdf4b6f9f8b</id>
<content type='text'>
request_threaded irq will call kzalloc that can sleep. Initializing the flags variable outside of spin_lock_irqsave/restore in bnad_mbox_irq_alloc will avoid call traces like below.

Jun 27 08:15:24 home-t710 kernel: [11735.634550] Brocade 10G Ethernet driver
Jun 27 08:15:24 home-t710 kernel: [11735.634590] bnad_pci_probe : (0xffff880427f3d000, 0xffffffffa020f3e0) PCI Func : (2)
Jun 27 08:15:24 home-t710 kernel: [11735.637677] bna 0000:82:00.2: PCI INT A -&gt; GSI 66 (level, low) -&gt; IRQ 66
Jun 27 08:15:24 home-t710 kernel: [11735.638290] bar0 mapped to ffffc90014980000, len 262144
Jun 27 08:15:24 home-t710 kernel: [11735.638732] BUG: sleeping function called from invalid context at mm/slub.c:847
Jun 27 08:15:24 home-t710 kernel: [11735.638736] in_atomic(): 0, irqs_disabled(): 1, pid: 11243, name: insmod
Jun 27 08:15:24 home-t710 kernel: [11735.638740] Pid: 11243, comm: insmod Not tainted 3.0.0-rc4+ #6
Jun 27 08:15:24 home-t710 kernel: [11735.638743] Call Trace:
Jun 27 08:15:24 home-t710 kernel: [11735.638755]  [&lt;ffffffff81046427&gt;] __might_sleep+0xeb/0xf0
Jun 27 08:15:24 home-t710 kernel: [11735.638766]  [&lt;ffffffffa01fe469&gt;] ? netif_wake_queue+0x3d/0x3d [bna]
Jun 27 08:15:24 home-t710 kernel: [11735.638773]  [&lt;ffffffff8111201c&gt;] kmem_cache_alloc_trace+0x43/0xd8
Jun 27 08:15:24 home-t710 kernel: [11735.638782]  [&lt;ffffffffa01fe469&gt;] ? netif_wake_queue+0x3d/0x3d [bna]
Jun 27 08:15:24 home-t710 kernel: [11735.638787]  [&lt;ffffffff810ab791&gt;] request_threaded_irq+0xa1/0x113
Jun 27 08:15:24 home-t710 kernel: [11735.638798]  [&lt;ffffffffa020f0c0&gt;] bnad_pci_probe+0x612/0x8e5 [bna]
Jun 27 08:15:24 home-t710 kernel: [11735.638807]  [&lt;ffffffffa01fe469&gt;] ? netif_wake_queue+0x3d/0x3d [bna]
Jun 27 08:15:24 home-t710 kernel: [11735.638816]  [&lt;ffffffff81482ef4&gt;] ? _raw_spin_unlock_irqrestore+0x17/0x19
Jun 27 08:15:24 home-t710 kernel: [11735.638822]  [&lt;ffffffff8124d17a&gt;] local_pci_probe+0x44/0x75
Jun 27 08:15:24 home-t710 kernel: [11735.638826]  [&lt;ffffffff8124dc06&gt;] pci_device_probe+0xd0/0xff
Jun 27 08:15:24 home-t710 kernel: [11735.638832]  [&lt;ffffffff812ef8ab&gt;] driver_probe_device+0x131/0x213
Jun 27 08:15:24 home-t710 kernel: [11735.638836]  [&lt;ffffffff812ef9e7&gt;] __driver_attach+0x5a/0x7e
Jun 27 08:15:24 home-t710 kernel: [11735.638840]  [&lt;ffffffff812ef98d&gt;] ? driver_probe_device+0x213/0x213
Jun 27 08:15:24 home-t710 kernel: [11735.638844]  [&lt;ffffffff812ee933&gt;] bus_for_each_dev+0x53/0x89
Jun 27 08:15:24 home-t710 kernel: [11735.638848]  [&lt;ffffffff812ef48a&gt;] driver_attach+0x1e/0x20
Jun 27 08:15:24 home-t710 kernel: [11735.638852]  [&lt;ffffffff812ef0ae&gt;] bus_add_driver+0xd1/0x224
Jun 27 08:15:24 home-t710 kernel: [11735.638858]  [&lt;ffffffffa01b8000&gt;] ? 0xffffffffa01b7fff
Jun 27 08:15:24 home-t710 kernel: [11735.638862]  [&lt;ffffffff812efe57&gt;] driver_register+0x98/0x105
Jun 27 08:15:24 home-t710 kernel: [11735.638866]  [&lt;ffffffffa01b8000&gt;] ? 0xffffffffa01b7fff
Jun 27 08:15:24 home-t710 kernel: [11735.638871]  [&lt;ffffffff8124e4c9&gt;] __pci_register_driver+0x56/0xc1
Jun 27 08:15:24 home-t710 kernel: [11735.638875]  [&lt;ffffffffa01b8000&gt;] ? 0xffffffffa01b7fff
Jun 27 08:15:24 home-t710 kernel: [11735.638884]  [&lt;ffffffffa01b8040&gt;] bnad_module_init+0x40/0x60 [bna]
Jun 27 08:15:24 home-t710 kernel: [11735.638892]  [&lt;ffffffff81002099&gt;] do_one_initcall+0x7f/0x136
Jun 27 08:15:24 home-t710 kernel: [11735.638899]  [&lt;ffffffff8108608b&gt;] sys_init_module+0x88/0x1d0
Jun 27 08:15:24 home-t710 kernel: [11735.638906]  [&lt;ffffffff81489682&gt;] system_call_fastpath+0x16/0x1b
Jun 27 08:15:24 home-t710 kernel: [11735.639642] bnad_pci_probe : (0xffff880427f3e000, 0xffffffffa020f3e0) PCI Func : (3)
Jun 27 08:15:24 home-t710 kernel: [11735.639665] bna 0000:82:00.3: PCI INT A -&gt; GSI 66 (level, low) -&gt; IRQ 66
Jun 27 08:15:24 home-t710 kernel: [11735.639735] bar0 mapped to ffffc90014400000, len 262144

Signed-off-by: Shyam Iyer &lt;shyam_iyer@dell.com&gt;
Acked-by: Rasesh Mody &lt;rmody@brocade.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Add appropriate &lt;linux/prefetch.h&gt; include for prefetch users</title>
<updated>2011-05-23T04:41:57Z</updated>
<author>
<name>Paul Gortmaker</name>
<email>paul.gortmaker@windriver.com</email>
</author>
<published>2011-05-22T20:47:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=70c71606190e9115e5f8363bfcd164c582eb314a'/>
<id>urn:sha1:70c71606190e9115e5f8363bfcd164c582eb314a</id>
<content type='text'>
After discovering that wide use of prefetch on modern CPUs
could be a net loss instead of a win, net drivers which were
relying on the implicit inclusion of prefetch.h via the list
headers showed up in the resulting cleanup fallout.  Give
them an explicit include via the following $0.02 script.

 =========================================
 #!/bin/bash
 MANUAL=""
 for i in `git grep -l 'prefetch(.*)' .` ; do
 	grep -q '&lt;linux/prefetch.h&gt;' $i
 	if [ $? = 0 ] ; then
 		continue
 	fi

 	(	echo '?^#include &lt;linux/?a'
 		echo '#include &lt;linux/prefetch.h&gt;'
 		echo .
 		echo w
 		echo q
 	) | ed -s $i &gt; /dev/null 2&gt;&amp;1
 	if [ $? != 0 ]; then
 		echo $i needs manual fixup
 		MANUAL="$i $MANUAL"
 	fi
 done
 echo ------------------- 8\&lt;----------------------
 echo vi $MANUAL
 =========================================

Signed-off-by: Paul &lt;paul.gortmaker@windriver.com&gt;
[ Fixed up some incorrect #include placements, and added some
  non-network drivers and the fib_trie.c case    - Linus ]
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>ethtool: cosmetic: Use ethtool ethtool_cmd_speed API</title>
<updated>2011-04-29T21:03:01Z</updated>
<author>
<name>David Decotigny</name>
<email>decot@google.com</email>
</author>
<published>2011-04-27T18:32:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=707394972093e2056e1e8cc39be19cf9bcb3e7b3'/>
<id>urn:sha1:707394972093e2056e1e8cc39be19cf9bcb3e7b3</id>
<content type='text'>
This updates the network drivers so that they don't access the
ethtool_cmd::speed field directly, but use ethtool_cmd_speed()
instead.

For most of the drivers, these changes are purely cosmetic and don't
fix any problem, such as for those 1GbE/10GbE drivers that indirectly
call their own ethtool get_settings()/mii_ethtool_gset(). The changes
are meant to enforce code consistency and provide robustness with
future larger throughputs, at the expense of a few CPU cycles for each
ethtool operation.

All drivers compiled with make allyesconfig ion x86_64 have been
updated.

Tested: make allyesconfig on x86_64 + e1000e/bnx2x work
Signed-off-by: David Decotigny &lt;decot@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ethtool: Use full 32 bit speed range in ethtool's set_settings</title>
<updated>2011-04-29T21:03:00Z</updated>
<author>
<name>David Decotigny</name>
<email>decot@google.com</email>
</author>
<published>2011-04-27T18:32:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=25db0338813a8915457636b1f6abe6a28fa73f8d'/>
<id>urn:sha1:25db0338813a8915457636b1f6abe6a28fa73f8d</id>
<content type='text'>
This makes sure the ethtool's set_settings() callback of network
drivers don't ignore the 16 most significant bits when ethtool calls
their set_settings().

All drivers compiled with make allyesconfig on x86_64 have been
updated.

Signed-off-by: David Decotigny &lt;decot@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net:bna: fix compile warning of ‘bfa_ioc_smem_pgoff’ defined but not used</title>
<updated>2011-04-20T03:11:42Z</updated>
<author>
<name>Shan Wei</name>
<email>shanwei@cn.fujitsu.com</email>
</author>
<published>2011-04-19T15:38:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ce45ee955ff53255993c9300344e6437761ce2b2'/>
<id>urn:sha1:ce45ee955ff53255993c9300344e6437761ce2b2</id>
<content type='text'>
Fix the below compile warning:

drivers/net/bna/bfa_ioc.c:1922: warning: ‘bfa_ioc_smem_pgoff’ defined but not used

Signed-off-by: Shan Wei &lt;shanwei@cn.fujitsu.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2011-04-19T07:21:33Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-04-19T07:21:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e1943424e43974f85b82bb31eaf832823bf49ce7'/>
<id>urn:sha1:e1943424e43974f85b82bb31eaf832823bf49ce7</id>
<content type='text'>
Conflicts:
	drivers/net/bnx2x/bnx2x_ethtool.c
</content>
</entry>
<entry>
<title>bna: Fix set-but-unused variables.</title>
<updated>2011-04-17T23:54:08Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-04-17T23:51:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=585985429080a449e0ecf66dd485899a8765c26c'/>
<id>urn:sha1:585985429080a449e0ecf66dd485899a8765c26c</id>
<content type='text'>
The variable 'pgoff' is set but unused in bfa_nw_ioc_fwver_get()
and bfa_ioc_download_fw().

Similarly for 'cmd_h' in bna_mbox_flush_q and the entirety of
bna_rit_mod_uninit() is unused since variables are purely set but no
action is made using them.

Same for 'bna' in bna_rit_create() and 'ret' in bna_rx_create().

Just kill them off.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>bna: fix memory leak during RX path cleanup</title>
<updated>2011-04-14T20:39:45Z</updated>
<author>
<name>Rasesh Mody</name>
<email>rmody@brocade.com</email>
</author>
<published>2011-04-14T08:05:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=49b4947aae404c8c5758ffd1007d0d78c48b3643'/>
<id>urn:sha1:49b4947aae404c8c5758ffd1007d0d78c48b3643</id>
<content type='text'>
The memory leak was caused by unintentional assignment of the Rx path
destroy callback function pointer to NULL just after correct
initialization.

Signed-off-by: Debashis Dutt &lt;ddutt@brocade.com&gt;
Signed-off-by: Rasesh Mody &lt;rmody@brocade.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>bna: fix for clean fw re-initialization</title>
<updated>2011-04-14T20:39:44Z</updated>
<author>
<name>Rasesh Mody</name>
<email>rmody@brocade.com</email>
</author>
<published>2011-04-14T08:05:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=79ea6c8966b861f80e77a14b2acf581563f3c83e'/>
<id>urn:sha1:79ea6c8966b861f80e77a14b2acf581563f3c83e</id>
<content type='text'>
During a kernel crash, bna control path state machine and firmware do not
get a notification and hence are not cleanly shutdown. The registers
holding driver/IOC state information are not reset back to valid
disabled/parking values. This causes subsequent driver initialization
to hang during kdump kernel boot. This patch, during the initialization
of first PCI function, resets corresponding register when unclean shutown
is detect by reading chip registers. This will make sure that ioc/fw
gets clean re-initialization.

Signed-off-by: Debashis Dutt &lt;ddutt@brocade.com&gt;
Signed-off-by: Rasesh Mody &lt;rmody@brocade.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: bna: convert to hw_features</title>
<updated>2011-04-12T21:50:44Z</updated>
<author>
<name>Michał Mirosław</name>
<email>mirq-linux@rere.qmqm.pl</email>
</author>
<published>2011-04-12T09:38:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e5ee20e70f078d584572709962f5d90f876912c3'/>
<id>urn:sha1:e5ee20e70f078d584572709962f5d90f876912c3</id>
<content type='text'>
Note: looks like bnad-&gt;conf_mutex is duplicating rtnl_lock.

Signed-off-by: Michał Mirosław &lt;mirq-linux@rere.qmqm.pl&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
