<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/ethernet/intel/igb, branch linux-3.9.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.9.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.9.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2013-04-18T18:52:18Z</updated>
<entry>
<title>igb: Revert support for build_skb in igb</title>
<updated>2013-04-18T18:52:18Z</updated>
<author>
<name>Alexander Duyck</name>
</author>
<published>2013-04-17T20:41:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f9d40f6a9921cc7d9385f64362314054e22152bd'/>
<id>urn:sha1:f9d40f6a9921cc7d9385f64362314054e22152bd</id>
<content type='text'>
This patch actually reverts:
igb: Support using build_skb in the case that jumbo frames are disabled

The reason for reverting this patch is that it can lead to data corruption.
The following flow was pointed out by Ben Hutchings:

1. skb is forwarded to another device
2. Packet headers are modified and it's put into a queue
3. Second packet is received into the other half of this page
4. Page cannot be reused, so is DMA-unmapped
5. The DMA mapping was non-coherent, so unmap copies or invalidates
cache

The headers added in step 2 get trashed in step 5.

Reported-by: Ben Hutchings &lt;bhutchings@solarflare.com&gt;
Signed-off-by: Alexander Duyck &lt;alexander.h.duyck@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: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>igb: fix PHC stopping on max freq</title>
<updated>2013-03-26T10:21:34Z</updated>
<author>
<name>Jiri Benc</name>
</author>
<published>2013-03-20T09:06:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=75517d92119a3cd364f618ee962055b3ded8c396'/>
<id>urn:sha1:75517d92119a3cd364f618ee962055b3ded8c396</id>
<content type='text'>
For 82576 MAC type, max_adj is reported as 1000000000 ppb. However, if
this value is passed to igb_ptp_adjfreq_82576, incvalue overflows out of
INCVALUE_82576_MASK, resulting in setting of zero TIMINCA.incvalue, stopping
the PHC (instead of going at twice the nominal speed).

Fix the advertised max_adj value to the largest value hardware can handle.
As there is no min_adj value available (-max_adj is used instead), this will
also prevent stopping the clock intentionally. It's probably not a big deal,
other igb MAC types don't support stopping the clock, either.

Signed-off-by: Jiri Benc &lt;jbenc@redhat.com&gt;
Acked-by: Matthew Vick &lt;matthew.vick@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;
</content>
</entry>
<entry>
<title>igb: make sensor info static</title>
<updated>2013-03-26T10:14:48Z</updated>
<author>
<name>Stephen Hemminger</name>
</author>
<published>2013-03-20T09:06:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=05ec29e8fa9b6ec8d4ad5d2f6d5fc5467c7970bc'/>
<id>urn:sha1:05ec29e8fa9b6ec8d4ad5d2f6d5fc5467c7970bc</id>
<content type='text'>
Trivial sparse warning.

Signed-off-by: Stephen Hemminger &lt;stephen@networkplumber.org&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>igb: SR-IOV init reordering</title>
<updated>2013-03-26T10:07:27Z</updated>
<author>
<name>Alex Williamson</name>
</author>
<published>2013-03-13T15:50:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d5e51a10d21761faaf069cac6f1c0311cf332820'/>
<id>urn:sha1:d5e51a10d21761faaf069cac6f1c0311cf332820</id>
<content type='text'>
igb is ineffective at setting a lower total VFs because:

int pci_sriov_set_totalvfs(struct pci_dev *dev, u16 numvfs)
{
        ...
        /* Shouldn't change if VFs already enabled */
        if (dev-&gt;sriov-&gt;ctrl &amp; PCI_SRIOV_CTRL_VFE)
                return -EBUSY;

Swap init ordering.

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
Acked-by: Greg Rose &lt;gregory.v.rose@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;
</content>
</entry>
<entry>
<title>igb: Fix null pointer dereference</title>
<updated>2013-03-26T10:00:32Z</updated>
<author>
<name>Alex Williamson</name>
</author>
<published>2013-03-13T15:50:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d0f63acc2ff354a525f7bc7ba90e81f49b6c2ef8'/>
<id>urn:sha1:d0f63acc2ff354a525f7bc7ba90e81f49b6c2ef8</id>
<content type='text'>
The max_vfs= option has always been self limiting to the number of VFs
supported by the device.  fa44f2f1 added SR-IOV configuration via
sysfs, but in the process broke this self correction factor.  The
failing path is:

igb_probe
  igb_sw_init
    if (max_vfs &gt; 7) {
        adapter-&gt;vfs_allocated_count = 7;
    ...
    igb_probe_vfs
    igb_enable_sriov(, max_vfs)
      if (num_vfs &gt; 7) {
        err = -EPERM;
        ...

This leaves vfs_allocated_count = 7 and vf_data = NULL, so we bomb out
when igb_probe finally calls igb_reset.  It seems like a really bad
idea, and somewhat pointless, to set vfs_allocated_count separate from
vf_data, but limiting max_vfs is enough to avoid the null pointer.

Signed-off-by: Alex Williamson &lt;alex.williamson@redhat.com&gt;
Acked-by: Greg Rose &lt;gregory.v.rose@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;
</content>
</entry>
<entry>
<title>igb: fix i350 anti spoofing config</title>
<updated>2013-03-26T09:47:50Z</updated>
<author>
<name>Lior Levy</name>
</author>
<published>2013-03-12T15:49:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=22c12752d183f39aa8e2cc884cfcb23c0cb6d98d'/>
<id>urn:sha1:22c12752d183f39aa8e2cc884cfcb23c0cb6d98d</id>
<content type='text'>
Fix a problem in i350 where anti spoofing configuration was written into a
wrong register.

Signed-off-by: Lior Levy &lt;lior.levy@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;
</content>
</entry>
<entry>
<title>igb: Fix for lockdep issue in igb_get_i2c_client</title>
<updated>2013-03-05T09:25:27Z</updated>
<author>
<name>Carolyn Wyborny</name>
</author>
<published>2013-02-20T07:40:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=603e86fa39cd48edba5ee8a4d19637bd41e2a8bf'/>
<id>urn:sha1:603e86fa39cd48edba5ee8a4d19637bd41e2a8bf</id>
<content type='text'>
This patch fixes a lockdep warning in igb_get_i2c_client by
refactoring the initialization and usage of the i2c_client
completely.  There is no on the fly allocation of the single
client needed today.

Signed-off-by: Carolyn Wyborny &lt;carolyn.wyborny@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;
</content>
</entry>
<entry>
<title>igb: Fix link setup for I210 devices</title>
<updated>2013-03-05T09:16:45Z</updated>
<author>
<name>Carolyn Wyborny</name>
</author>
<published>2013-02-06T03:35:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ed65bdd8c0086d69948e6380dba0cc279a6906de'/>
<id>urn:sha1:ed65bdd8c0086d69948e6380dba0cc279a6906de</id>
<content type='text'>
This patch changes the setup copper link function to use a switch
statement for the PHY id's available for the given PHY types.  It
also adds a case for the I210 PHY id, so the appropriate setup link
function is called for it.

Signed-off-by: Carolyn Wyborny &lt;carolyn.wyborny@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;
</content>
</entry>
<entry>
<title>igb: Drop BUILD_BUG_ON check from igb_build_rx_buffer</title>
<updated>2013-03-05T09:08:45Z</updated>
<author>
<name>Alexander Duyck</name>
</author>
<published>2013-02-21T03:08:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e4f7dbb17e797d922d72567f37de3735722034ba'/>
<id>urn:sha1:e4f7dbb17e797d922d72567f37de3735722034ba</id>
<content type='text'>
On s390 the igb driver was throwing a build error due to the fact that a frame
built using build_skb would be larger than 2K.  Since this is not likely to
change at any point in the future we are better off just dropping the check
since we already had a check in igb_set_rx_buffer_len that will just disable
the usage of build_skb anyway.

Signed-off-by: Alexander Duyck &lt;alexander.h.duyck@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;
</content>
</entry>
<entry>
<title>igb: increase timeout for ethtool offline self-test</title>
<updated>2013-02-16T05:46:54Z</updated>
<author>
<name>Stefan Assmann</name>
</author>
<published>2013-02-02T08:31:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4507dc9f98a4155bcb85735ac6dd4158b2d391b3'/>
<id>urn:sha1:4507dc9f98a4155bcb85735ac6dd4158b2d391b3</id>
<content type='text'>
On several machines with i350 adapters the ethtool offline self-test sometimes
fails. This happens because link auto negotiation may take longer than the
timeout of 4 seconds. Increasing the timeout by 1 seconds resolves the issue.

Output from a failing i350 offline self-test:
while [ 1 ]; do ethtool -t eth2 offline; done
The test result is PASS
The test extra info:
Register test  (offline)         0
Eeprom test    (offline)         0
Interrupt test (offline)         0
Loopback test  (offline)         0
Link test   (on/offline)         0

The test result is FAIL
The test extra info:
Register test  (offline)         0
Eeprom test    (offline)         0
Interrupt test (offline)         0
Loopback test  (offline)         0
Link test   (on/offline)         1

The test result is PASS
The test extra info:
Register test  (offline)         0
Eeprom test    (offline)         0
Interrupt test (offline)         0
Loopback test  (offline)         0
Link test   (on/offline)         0

Signed-off-by: Stefan Assmann &lt;sassmann@kpanic.de&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
</feed>
