<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/net, branch v3.12.28</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>tg3: Add support for new 577xx device ids</title>
<updated>2014-08-26T12:12:21+00:00</updated>
<author>
<name>Nithin Sujir</name>
<email>nsujir@broadcom.com</email>
</author>
<published>2013-09-20T23:46:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e0c516a109e873556edd487912c62bc39ad5c9ce'/>
<id>e0c516a109e873556edd487912c62bc39ad5c9ce</id>
<content type='text'>
commit 68273712a19e9107a498a371532b3b3eb6dbb14c upstream.

This patch adds support for 57764, 57765, 57787, 57782 and 57786
devices.

Signed-off-by: Nithin Nayak Sujir &lt;nsujir@broadcom.com&gt;
Signed-off-by: Michael Chan &lt;mchan@broadcom.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 68273712a19e9107a498a371532b3b3eb6dbb14c upstream.

This patch adds support for 57764, 57765, 57787, 57782 and 57786
devices.

Signed-off-by: Nithin Nayak Sujir &lt;nsujir@broadcom.com&gt;
Signed-off-by: Michael Chan &lt;mchan@broadcom.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>bnx2x: Test nvram when interface is down</title>
<updated>2014-08-26T12:12:20+00:00</updated>
<author>
<name>Yuval Mintz</name>
<email>yuvalmin@broadcom.com</email>
</author>
<published>2013-09-28T05:46:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f4ee0d62f2c63d5ef77fde1575aeef457e054902'/>
<id>f4ee0d62f2c63d5ef77fde1575aeef457e054902</id>
<content type='text'>
commit bd8e012b5d369933f50842294372ed580f5d9605 upstream.

Since commit 3fb43eb ("bnx2x: Change to D3hot only on removal") nvram
is accessible whenever the driver is loaded - Thus it is possible to
test it during self-test even if the interface is down

Signed-off-by: Yuval Mintz &lt;yuvalmin@broadcom.com&gt;
Signed-off-by: Ariel Elior &lt;ariele@broadcom.com&gt;
Signed-off-by: Eilon Greenstein &lt;eilong@broadcom.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit bd8e012b5d369933f50842294372ed580f5d9605 upstream.

Since commit 3fb43eb ("bnx2x: Change to D3hot only on removal") nvram
is accessible whenever the driver is loaded - Thus it is possible to
test it during self-test even if the interface is down

Signed-off-by: Yuval Mintz &lt;yuvalmin@broadcom.com&gt;
Signed-off-by: Ariel Elior &lt;ariele@broadcom.com&gt;
Signed-off-by: Eilon Greenstein &lt;eilong@broadcom.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netxen: Correct off-by-one errors in bounds checks</title>
<updated>2014-08-26T12:12:19+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2013-12-20T04:10:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=465a844d10e4f4ba2f6bf0a2f4833d65ea08097c'/>
<id>465a844d10e4f4ba2f6bf0a2f4833d65ea08097c</id>
<content type='text'>
commit 4710b2ba873692194c636811ceda398f95e02db2 upstream.

netxen_process_lro() contains two bounds checks.  One for the ring number
against the number of rings, and one for the Rx buffer ID against the
array of receive buffers.

Both of these have off-by-one errors, using &gt; instead of &gt;=. The correct
versions are used in netxen_process_rcv(), they're just wrong in
netxen_process_lro().

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 4710b2ba873692194c636811ceda398f95e02db2 upstream.

netxen_process_lro() contains two bounds checks.  One for the ring number
against the number of rings, and one for the Rx buffer ID against the
array of receive buffers.

Both of these have off-by-one errors, using &gt; instead of &gt;=. The correct
versions are used in netxen_process_rcv(), they're just wrong in
netxen_process_lro().

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>DMA-API: net: brocade/bna/bnad.c: fix 32-bit DMA mask handling</title>
<updated>2014-08-26T12:12:19+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2013-06-10T11:16:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=854ad0a065a8cd0136533b29478ba2cf658c87a3'/>
<id>854ad0a065a8cd0136533b29478ba2cf658c87a3</id>
<content type='text'>
commit 3e5480791e3b0e239d2cd4e5ecd43a7d2585484b upstream.

The fallback to 32-bit DMA mask is rather odd:
	if (!dma_set_mask(&amp;pdev-&gt;dev, DMA_BIT_MASK(64)) &amp;&amp;
	    !dma_set_coherent_mask(&amp;pdev-&gt;dev, DMA_BIT_MASK(64))) {
		*using_dac = true;
	} else {
		err = dma_set_mask(&amp;pdev-&gt;dev, DMA_BIT_MASK(32));
		if (err) {
			err = dma_set_coherent_mask(&amp;pdev-&gt;dev,
						    DMA_BIT_MASK(32));
			if (err)
				goto release_regions;
		}

This means we only try and set the coherent DMA mask if we failed to
set a 32-bit DMA mask, and only if both fail do we fail the driver.
Adjust this so that if either setting fails, we fail the driver - and
thereby end up properly setting both the DMA mask and the coherent
DMA mask in the fallback case.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 3e5480791e3b0e239d2cd4e5ecd43a7d2585484b upstream.

The fallback to 32-bit DMA mask is rather odd:
	if (!dma_set_mask(&amp;pdev-&gt;dev, DMA_BIT_MASK(64)) &amp;&amp;
	    !dma_set_coherent_mask(&amp;pdev-&gt;dev, DMA_BIT_MASK(64))) {
		*using_dac = true;
	} else {
		err = dma_set_mask(&amp;pdev-&gt;dev, DMA_BIT_MASK(32));
		if (err) {
			err = dma_set_coherent_mask(&amp;pdev-&gt;dev,
						    DMA_BIT_MASK(32));
			if (err)
				goto release_regions;
		}

This means we only try and set the coherent DMA mask if we failed to
set a 32-bit DMA mask, and only if both fail do we fail the driver.
Adjust this so that if either setting fails, we fail the driver - and
thereby end up properly setting both the DMA mask and the coherent
DMA mask in the fallback case.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>igbvf: add missing iounmap() on error in igbvf_probe()</title>
<updated>2014-08-26T12:12:18+00:00</updated>
<author>
<name>Wei Yongjun</name>
<email>yongjun_wei@trendmicro.com.cn</email>
</author>
<published>2013-09-24T05:18:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=383bc2fefbf3af2dd4fe1b12192445d02d2ff114'/>
<id>383bc2fefbf3af2dd4fe1b12192445d02d2ff114</id>
<content type='text'>
commit de524681f88ff4ed293aa239f83c8cb04d59b47d upstream.

Add the missing iounmap() before return from igbvf_probe()
in the error handling case.

Signed-off-by: Wei Yongjun &lt;yongjun_wei@trendmicro.com.cn&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Tested-by: Sibai Li &lt;Sibai.li@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit de524681f88ff4ed293aa239f83c8cb04d59b47d upstream.

Add the missing iounmap() before return from igbvf_probe()
in the error handling case.

Signed-off-by: Wei Yongjun &lt;yongjun_wei@trendmicro.com.cn&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Tested-by: Sibai Li &lt;Sibai.li@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>igbvf: integer wrapping bug setting the mtu</title>
<updated>2014-08-26T12:12:18+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2013-09-13T20:44:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=9b0b3e8944123d9888b71f84d844ec8ebcefc70d'/>
<id>9b0b3e8944123d9888b71f84d844ec8ebcefc70d</id>
<content type='text'>
commit 3de9e65f011b95235a789b12abc4730570cdb737 upstream.

If new_mtu is very large then "new_mtu + ETH_HLEN + ETH_FCS_LEN" can
wrap and the check on the next line can underflow. This is one of those
bugs which can be triggered by the user if you have namespaces
configured.

Also since this is something the user can trigger then we don't want to
have dev_err() message.

This is a static checker fix and I'm not sure what the impact is.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Tested-by: Sibai Li Sibai.li@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 3de9e65f011b95235a789b12abc4730570cdb737 upstream.

If new_mtu is very large then "new_mtu + ETH_HLEN + ETH_FCS_LEN" can
wrap and the check on the next line can underflow. This is one of those
bugs which can be triggered by the user if you have namespaces
configured.

Also since this is something the user can trigger then we don't want to
have dev_err() message.

This is a static checker fix and I'm not sure what the impact is.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Tested-by: Sibai Li Sibai.li@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>DMA-API: net: intel/igbvf: fix 32-bit DMA mask handling</title>
<updated>2014-08-26T12:12:17+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2013-06-10T11:26:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=ae09150a6de6cdade01b451ed95abe8f041251fe'/>
<id>ae09150a6de6cdade01b451ed95abe8f041251fe</id>
<content type='text'>
commit c21b8ebc2f1613fd0a9d5aa0d0d1083aee8ca306 upstream.

The fallback to 32-bit DMA mask is rather odd:
	err = dma_set_mask(&amp;pdev-&gt;dev, DMA_BIT_MASK(64));
	if (!err) {
		err = dma_set_coherent_mask(&amp;pdev-&gt;dev, DMA_BIT_MASK(64));
		if (!err)
			pci_using_dac = 1;
	} else {
		err = dma_set_mask(&amp;pdev-&gt;dev, DMA_BIT_MASK(32));
		if (err) {
			err = dma_set_coherent_mask(&amp;pdev-&gt;dev,
						    DMA_BIT_MASK(32));
			if (err) {
				dev_err(&amp;pdev-&gt;dev, "No usable DMA "
					"configuration, aborting\n");
				goto err_dma;
			}
		}
	}
This means we only set the coherent DMA mask in the fallback path if
the DMA mask set failed, which is silly.  This fixes it to set the
coherent DMA mask only if dma_set_mask() succeeded, and to error out
if either fails.

Acked-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit c21b8ebc2f1613fd0a9d5aa0d0d1083aee8ca306 upstream.

The fallback to 32-bit DMA mask is rather odd:
	err = dma_set_mask(&amp;pdev-&gt;dev, DMA_BIT_MASK(64));
	if (!err) {
		err = dma_set_coherent_mask(&amp;pdev-&gt;dev, DMA_BIT_MASK(64));
		if (!err)
			pci_using_dac = 1;
	} else {
		err = dma_set_mask(&amp;pdev-&gt;dev, DMA_BIT_MASK(32));
		if (err) {
			err = dma_set_coherent_mask(&amp;pdev-&gt;dev,
						    DMA_BIT_MASK(32));
			if (err) {
				dev_err(&amp;pdev-&gt;dev, "No usable DMA "
					"configuration, aborting\n");
				goto err_dma;
			}
		}
	}
This means we only set the coherent DMA mask in the fallback path if
the DMA mask set failed, which is silly.  This fixes it to set the
coherent DMA mask only if dma_set_mask() succeeded, and to error out
if either fails.

Acked-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>igb: Fixed Wake On LAN support</title>
<updated>2014-08-26T12:12:16+00:00</updated>
<author>
<name>Akeem G Abodunrin</name>
<email>akeem.g.abodunrin@intel.com</email>
</author>
<published>2013-11-08T01:54:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=47687f86b33ee462925abaddd858a80bd3002f19'/>
<id>47687f86b33ee462925abaddd858a80bd3002f19</id>
<content type='text'>
commit 42ce4126d8bc2e128e1f207cf79bb0623fac498f upstream.

This patch fixes Wake on LAN being reported as supported on some Ethernet
ports, in contrary to Hardware capability.

Signed-off-by: Akeem G Abodunrin &lt;akeem.g.abodunrin@intel.com&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 42ce4126d8bc2e128e1f207cf79bb0623fac498f upstream.

This patch fixes Wake on LAN being reported as supported on some Ethernet
ports, in contrary to Hardware capability.

Signed-off-by: Akeem G Abodunrin &lt;akeem.g.abodunrin@intel.com&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>igb: Don't let ethtool try to write to iNVM in i210/i211</title>
<updated>2014-08-26T12:12:16+00:00</updated>
<author>
<name>Fujinaka, Todd</name>
<email>todd.fujinaka@intel.com</email>
</author>
<published>2013-10-23T05:52:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=1a05931d6738d3c70958d6b93fa4ada02f1d8ecd'/>
<id>1a05931d6738d3c70958d6b93fa4ada02f1d8ecd</id>
<content type='text'>
commit a71fc313c4f569be5788caff07ef1fe346842c5b upstream.

Don't let ethtool try to write to iNVM in i210/i211.

This fixes an issue seen by Marek Vasut.

Reported-by: Marek Vasut &lt;marex@denx.de&gt;
Signed-off-by: Todd Fujinaka &lt;todd.fujinaka@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit a71fc313c4f569be5788caff07ef1fe346842c5b upstream.

Don't let ethtool try to write to iNVM in i210/i211.

This fixes an issue seen by Marek Vasut.

Reported-by: Marek Vasut &lt;marex@denx.de&gt;
Signed-off-by: Todd Fujinaka &lt;todd.fujinaka@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>igb: fix driver reload with VF assigned to guest</title>
<updated>2014-08-26T12:12:16+00:00</updated>
<author>
<name>Stefan Assmann</name>
<email>sassmann@kpanic.de</email>
</author>
<published>2013-09-24T05:18:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e316cc5097285a8cea595ed1052ca4d0626059e3'/>
<id>e316cc5097285a8cea595ed1052ca4d0626059e3</id>
<content type='text'>
commit 781798a11e2820ee35fa9142869bb8cec117dedc upstream.

commit fa44f2f185f7f9da19d331929bb1b56c1ccd1d93 broke reloading of igb, when
VFs are assigned to a guest, in several ways.
1. on module load adapter-&gt;vf_data does not get properly allocated,
resulting in a null pointer exception when accessing adapter-&gt;vf_data in
igb_reset() on module reload.
 modprobe -r igb ; modprobe igb max_vfs=7
[  215.215837] igb 0000:01:00.1: removed PHC on eth1
[  216.932072] igb 0000:01:00.1: IOV Disabled
[  216.937038] igb 0000:01:00.0: removed PHC on eth0
[  217.127032] igb 0000:01:00.0: Cannot deallocate SR-IOV virtual functions while they are assigned - VFs will not be deallocated
[  217.146178] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.0.5-k
[  217.154050] igb: Copyright (c) 2007-2013 Intel Corporation.
[  217.160688] igb 0000:01:00.0: Enabling SR-IOV VFs using the module parameter is deprecated - please use the pci sysfs interface.
[  217.173703] igb 0000:01:00.0: irq 103 for MSI/MSI-X
[  217.179227] igb 0000:01:00.0: irq 104 for MSI/MSI-X
[  217.184735] igb 0000:01:00.0: irq 105 for MSI/MSI-X
[  217.220082] BUG: unable to handle kernel NULL pointer dereference at 0000000000000048
[  217.228846] IP: [&lt;ffffffffa007c5e5&gt;] igb_reset+0xc5/0x4b0 [igb]
[  217.235472] PGD 3607ec067 PUD 36170b067 PMD 0
[  217.240461] Oops: 0002 [#1] SMP
[  217.244085] Modules linked in: igb(+) igbvf mptsas mptscsih mptbase scsi_transport_sas [last unloaded: igb]
[  217.255040] CPU: 4 PID: 4833 Comm: modprobe Not tainted 3.11.0+ #46
[...]
[  217.390007]  [&lt;ffffffffa007fab2&gt;] igb_probe+0x892/0xfd0 [igb]
[  217.396422]  [&lt;ffffffff81470b3e&gt;] local_pci_probe+0x1e/0x40
[  217.402641]  [&lt;ffffffff81472029&gt;] pci_device_probe+0xf9/0x110
[...]
2. A follow up issue, pci_enable_sriov() should only be called if no VFs were
still allocated on module unload. Otherwise pci_enable_sriov() gets called
multiple times in a row rendering the NIC unusable until reset.
3. simply calling igb_enable_sriov() in igb_probe_vfs() is not enough as the
interrupts need to be re-setup. Switching that to igb_pci_enable_sriov().

Signed-off-by: Stefan Assmann &lt;sassmann@kpanic.de&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Tested-by: Sibai Li &lt;Sibai.li@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 781798a11e2820ee35fa9142869bb8cec117dedc upstream.

commit fa44f2f185f7f9da19d331929bb1b56c1ccd1d93 broke reloading of igb, when
VFs are assigned to a guest, in several ways.
1. on module load adapter-&gt;vf_data does not get properly allocated,
resulting in a null pointer exception when accessing adapter-&gt;vf_data in
igb_reset() on module reload.
 modprobe -r igb ; modprobe igb max_vfs=7
[  215.215837] igb 0000:01:00.1: removed PHC on eth1
[  216.932072] igb 0000:01:00.1: IOV Disabled
[  216.937038] igb 0000:01:00.0: removed PHC on eth0
[  217.127032] igb 0000:01:00.0: Cannot deallocate SR-IOV virtual functions while they are assigned - VFs will not be deallocated
[  217.146178] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.0.5-k
[  217.154050] igb: Copyright (c) 2007-2013 Intel Corporation.
[  217.160688] igb 0000:01:00.0: Enabling SR-IOV VFs using the module parameter is deprecated - please use the pci sysfs interface.
[  217.173703] igb 0000:01:00.0: irq 103 for MSI/MSI-X
[  217.179227] igb 0000:01:00.0: irq 104 for MSI/MSI-X
[  217.184735] igb 0000:01:00.0: irq 105 for MSI/MSI-X
[  217.220082] BUG: unable to handle kernel NULL pointer dereference at 0000000000000048
[  217.228846] IP: [&lt;ffffffffa007c5e5&gt;] igb_reset+0xc5/0x4b0 [igb]
[  217.235472] PGD 3607ec067 PUD 36170b067 PMD 0
[  217.240461] Oops: 0002 [#1] SMP
[  217.244085] Modules linked in: igb(+) igbvf mptsas mptscsih mptbase scsi_transport_sas [last unloaded: igb]
[  217.255040] CPU: 4 PID: 4833 Comm: modprobe Not tainted 3.11.0+ #46
[...]
[  217.390007]  [&lt;ffffffffa007fab2&gt;] igb_probe+0x892/0xfd0 [igb]
[  217.396422]  [&lt;ffffffff81470b3e&gt;] local_pci_probe+0x1e/0x40
[  217.402641]  [&lt;ffffffff81472029&gt;] pci_device_probe+0xf9/0x110
[...]
2. A follow up issue, pci_enable_sriov() should only be called if no VFs were
still allocated on module unload. Otherwise pci_enable_sriov() gets called
multiple times in a row rendering the NIC unusable until reset.
3. simply calling igb_enable_sriov() in igb_probe_vfs() is not enough as the
interrupts need to be re-setup. Switching that to igb_pci_enable_sriov().

Signed-off-by: Stefan Assmann &lt;sassmann@kpanic.de&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Tested-by: Sibai Li &lt;Sibai.li@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
</feed>
