<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/net/ethernet/intel, branch linux-3.9.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>e1000e: fix numeric overflow in phc settime method</title>
<updated>2013-05-08T03:33:14+00:00</updated>
<author>
<name>Richard Cochran</name>
<email>richardcochran@gmail.com</email>
</author>
<published>2013-04-23T01:56:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=851b7ca2a2426f509736448407c641c5054147d4'/>
<id>851b7ca2a2426f509736448407c641c5054147d4</id>
<content type='text'>
commit 73e3dd6b45c4c870fc2641eb04c24e3f12dab1e0 upstream.

The PTP Hardware Clock settime function in the e1000e driver
computes nanoseconds from a struct timespec. The code converts the
seconds field .tv_sec by multiplying it with NSEC_PER_SEC. However,
both operands are of type long, resulting in an unintended overflow.
The patch fixes the issue by using the helper function from time.h.

Signed-off-by: Richard Cochran &lt;richardcochran@gmail.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: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 73e3dd6b45c4c870fc2641eb04c24e3f12dab1e0 upstream.

The PTP Hardware Clock settime function in the e1000e driver
computes nanoseconds from a struct timespec. The code converts the
seconds field .tv_sec by multiplying it with NSEC_PER_SEC. However,
both operands are of type long, resulting in an unintended overflow.
The patch fixes the issue by using the helper function from time.h.

Signed-off-by: Richard Cochran &lt;richardcochran@gmail.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: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>ixgbe: fix EICR write in ixgbe_msix_other</title>
<updated>2013-05-08T03:33:14+00:00</updated>
<author>
<name>Jacob Keller</name>
<email>jacob.e.keller@intel.com</email>
</author>
<published>2013-03-02T07:51:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f5f5be06e3073714a03db1f017b325ec85c6b6e3'/>
<id>f5f5be06e3073714a03db1f017b325ec85c6b6e3</id>
<content type='text'>
commit d87d830720a1446403ed38bfc2da268be0d356d1 upstream.

Previously, the ixgbe_msix_other was writing the full 32bits of the set
interrupts, instead of only the ones which the ixgbe_msix_other is
handling. This resulted in a loss of performance when the X540's PPS feature is
enabled due to sometimes clearing queue interrupts which resulted in the driver
not getting the interrupt for cleaning the q_vector rings often enough. The fix
is to simply mask the lower 16bits off so that this handler does not write them
in the EICR, which causes them to remain high and be properly handled by the
clean_rings interrupt routine as normal.

Signed-off-by: Jacob Keller &lt;jacob.e.keller@intel.com&gt;
Tested-by: Phil Schmitt &lt;phillip.j.schmitt@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit d87d830720a1446403ed38bfc2da268be0d356d1 upstream.

Previously, the ixgbe_msix_other was writing the full 32bits of the set
interrupts, instead of only the ones which the ixgbe_msix_other is
handling. This resulted in a loss of performance when the X540's PPS feature is
enabled due to sometimes clearing queue interrupts which resulted in the driver
not getting the interrupt for cleaning the q_vector rings often enough. The fix
is to simply mask the lower 16bits off so that this handler does not write them
in the EICR, which causes them to remain high and be properly handled by the
clean_rings interrupt routine as normal.

Signed-off-by: Jacob Keller &lt;jacob.e.keller@intel.com&gt;
Tested-by: Phil Schmitt &lt;phillip.j.schmitt@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>ixgbe: Fix a bug in setting VF VLAN via PF</title>
<updated>2013-04-18T18:52:18+00:00</updated>
<author>
<name>Greg Rose</name>
<email>gregory.v.rose@intel.com</email>
</author>
<published>2013-04-17T20:41:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=026ac677414c62550269d53907ea47412ec2bd81'/>
<id>026ac677414c62550269d53907ea47412ec2bd81</id>
<content type='text'>
The PF driver does not check if the administrator has already set a VF
VLAN via the PF driver before setting the new VLAN.  This results in
the following scenario:

A) Administrator sets VF &lt;n&gt; to VLAN 100
B) Administrator sets VF &lt;x&gt; to VLAN 100
C) Administrator sets VF &lt;n&gt; to VLAN 200
D) The VF &lt;n&gt; driver continues to be able to receive traffic on VLAN
   100 because the VLVFB pool enable bit for that VF was left set
   instead of being cleared as it should be.

This fix ensures that the old VLAN filter for VF &lt;n&gt; is first removed
and the pool bit enable for VF &lt;n&gt; is cleared so that it no longer
receives traffic on VLAN 100.

Signed-off-by: Greg Rose &lt;gregory.v.rose@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: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The PF driver does not check if the administrator has already set a VF
VLAN via the PF driver before setting the new VLAN.  This results in
the following scenario:

A) Administrator sets VF &lt;n&gt; to VLAN 100
B) Administrator sets VF &lt;x&gt; to VLAN 100
C) Administrator sets VF &lt;n&gt; to VLAN 200
D) The VF &lt;n&gt; driver continues to be able to receive traffic on VLAN
   100 because the VLVFB pool enable bit for that VF was left set
   instead of being cleared as it should be.

This fix ensures that the old VLAN filter for VF &lt;n&gt; is first removed
and the pool bit enable for VF &lt;n&gt; is cleared so that it no longer
receives traffic on VLAN 100.

Signed-off-by: Greg Rose &lt;gregory.v.rose@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: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>igb: Revert support for build_skb in igb</title>
<updated>2013-04-18T18:52:18+00:00</updated>
<author>
<name>Alexander Duyck</name>
<email>alexander.h.duyck@intel.com</email>
</author>
<published>2013-04-17T20:41:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f9d40f6a9921cc7d9385f64362314054e22152bd'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>e100: Add dma mapping error check</title>
<updated>2013-04-10T19:25:15+00:00</updated>
<author>
<name>Neil Horman</name>
<email>nhorman@tuxdriver.com</email>
</author>
<published>2013-04-09T23:19:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=61a0f6efc8932e9914e1782ff3a027e23c687fc6'/>
<id>61a0f6efc8932e9914e1782ff3a027e23c687fc6</id>
<content type='text'>
e100 uses pci_map_single, but fails to check for a dma mapping error after its
use, resulting in a stack trace:

[   46.656594] ------------[ cut here ]------------
[   46.657004] WARNING: at lib/dma-debug.c:933 check_unmap+0x47b/0x950()
[   46.657004] Hardware name: To Be Filled By O.E.M.
[   46.657004] e100 0000:00:0e.0: DMA-API: device driver failed to check map
error[device address=0x000000007a4540fa] [size=90 bytes] [mapped as single]
[   46.657004] Modules linked in:
[   46.657004]  w83627hf hwmon_vid snd_via82xx ppdev snd_ac97_codec ac97_bus
snd_seq snd_pcm snd_mpu401 snd_mpu401_uart ns558 snd_rawmidi gameport parport_pc
e100 snd_seq_device parport snd_page_alloc snd_timer snd soundcore skge shpchp
k8temp mii edac_core i2c_viapro edac_mce_amd nfsd auth_rpcgss nfs_acl lockd
sunrpc binfmt_misc uinput ata_generic pata_acpi radeon i2c_algo_bit
drm_kms_helper ttm firewire_ohci drm firewire_core pata_via sata_via i2c_core
sata_promise crc_itu_t
[   46.657004] Pid: 792, comm: ip Not tainted 3.8.0-0.rc6.git0.1.fc19.x86_64 #1
[   46.657004] Call Trace:
[   46.657004]  &lt;IRQ&gt;  [&lt;ffffffff81065ed0&gt;] warn_slowpath_common+0x70/0xa0
[   46.657004]  [&lt;ffffffff81065f4c&gt;] warn_slowpath_fmt+0x4c/0x50
[   46.657004]  [&lt;ffffffff81364cfb&gt;] check_unmap+0x47b/0x950
[   46.657004]  [&lt;ffffffff8136522f&gt;] debug_dma_unmap_page+0x5f/0x70
[   46.657004]  [&lt;ffffffffa030f0f0&gt;] ? e100_tx_clean+0x30/0x210 [e100]
[   46.657004]  [&lt;ffffffffa030f1a8&gt;] e100_tx_clean+0xe8/0x210 [e100]
[   46.657004]  [&lt;ffffffffa030fc6f&gt;] e100_poll+0x56f/0x6c0 [e100]
[   46.657004]  [&lt;ffffffff8159dce1&gt;] ? net_rx_action+0xa1/0x370
[   46.657004]  [&lt;ffffffff8159ddb2&gt;] net_rx_action+0x172/0x370
[   46.657004]  [&lt;ffffffff810703bf&gt;] __do_softirq+0xef/0x3d0
[   46.657004]  [&lt;ffffffff816e4ebc&gt;] call_softirq+0x1c/0x30
[   46.657004]  [&lt;ffffffff8101c485&gt;] do_softirq+0x85/0xc0
[   46.657004]  [&lt;ffffffff81070885&gt;] irq_exit+0xd5/0xe0
[   46.657004]  [&lt;ffffffff816e5756&gt;] do_IRQ+0x56/0xc0
[   46.657004]  [&lt;ffffffff816dacb2&gt;] common_interrupt+0x72/0x72
[   46.657004]  &lt;EOI&gt;  [&lt;ffffffff816da1eb&gt;] ?
_raw_spin_unlock_irqrestore+0x3b/0x70
[   46.657004]  [&lt;ffffffff816d124d&gt;] __slab_free+0x58/0x38b
[   46.657004]  [&lt;ffffffff81214424&gt;] ? fsnotify_clear_marks_by_inode+0x34/0x120
[   46.657004]  [&lt;ffffffff811b0417&gt;] ? kmem_cache_free+0x97/0x320
[   46.657004]  [&lt;ffffffff8157fc14&gt;] ? sock_destroy_inode+0x34/0x40
[   46.657004]  [&lt;ffffffff8157fc14&gt;] ? sock_destroy_inode+0x34/0x40
[   46.657004]  [&lt;ffffffff811b0692&gt;] kmem_cache_free+0x312/0x320
[   46.657004]  [&lt;ffffffff8157fc14&gt;] sock_destroy_inode+0x34/0x40
[   46.657004]  [&lt;ffffffff811e8c28&gt;] destroy_inode+0x38/0x60
[   46.657004]  [&lt;ffffffff811e8d5e&gt;] evict+0x10e/0x1a0
[   46.657004]  [&lt;ffffffff811e9605&gt;] iput+0xf5/0x180
[   46.657004]  [&lt;ffffffff811e4338&gt;] dput+0x248/0x310
[   46.657004]  [&lt;ffffffff811ce0e1&gt;] __fput+0x171/0x240
[   46.657004]  [&lt;ffffffff811ce26e&gt;] ____fput+0xe/0x10
[   46.657004]  [&lt;ffffffff8108d54c&gt;] task_work_run+0xac/0xe0
[   46.657004]  [&lt;ffffffff8106c6ed&gt;] do_exit+0x26d/0xc30
[   46.657004]  [&lt;ffffffff8109eccc&gt;] ? finish_task_switch+0x7c/0x120
[   46.657004]  [&lt;ffffffff816dad58&gt;] ? retint_swapgs+0x13/0x1b
[   46.657004]  [&lt;ffffffff8106d139&gt;] do_group_exit+0x49/0xc0
[   46.657004]  [&lt;ffffffff8106d1c4&gt;] sys_exit_group+0x14/0x20
[   46.657004]  [&lt;ffffffff816e3b19&gt;] system_call_fastpath+0x16/0x1b
[   46.657004] ---[ end trace 4468c44e2156e7d1 ]---
[   46.657004] Mapped at:
[   46.657004]  [&lt;ffffffff813663d1&gt;] debug_dma_map_page+0x91/0x140
[   46.657004]  [&lt;ffffffffa030e8eb&gt;] e100_xmit_prepare+0x12b/0x1c0 [e100]
[   46.657004]  [&lt;ffffffffa030c924&gt;] e100_exec_cb+0x84/0x140 [e100]
[   46.657004]  [&lt;ffffffffa030e56a&gt;] e100_xmit_frame+0x3a/0x190 [e100]
[   46.657004]  [&lt;ffffffff8159ee89&gt;] dev_hard_start_xmit+0x259/0x6c0

Easy fix, modify the cb paramter to e100_exec_cb to return an error, and do the
dma_mapping_error check in the obvious place

This was reported previously here:
http://article.gmane.org/gmane.linux.network/257893

But nobody stepped up and fixed it.

CC: Josh Boyer &lt;jwboyer@redhat.com&gt;
CC: e1000-devel@lists.sourceforge.net
Signed-off-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Reported-by: Michal Jaegermann &lt;michal@harddata.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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
e100 uses pci_map_single, but fails to check for a dma mapping error after its
use, resulting in a stack trace:

[   46.656594] ------------[ cut here ]------------
[   46.657004] WARNING: at lib/dma-debug.c:933 check_unmap+0x47b/0x950()
[   46.657004] Hardware name: To Be Filled By O.E.M.
[   46.657004] e100 0000:00:0e.0: DMA-API: device driver failed to check map
error[device address=0x000000007a4540fa] [size=90 bytes] [mapped as single]
[   46.657004] Modules linked in:
[   46.657004]  w83627hf hwmon_vid snd_via82xx ppdev snd_ac97_codec ac97_bus
snd_seq snd_pcm snd_mpu401 snd_mpu401_uart ns558 snd_rawmidi gameport parport_pc
e100 snd_seq_device parport snd_page_alloc snd_timer snd soundcore skge shpchp
k8temp mii edac_core i2c_viapro edac_mce_amd nfsd auth_rpcgss nfs_acl lockd
sunrpc binfmt_misc uinput ata_generic pata_acpi radeon i2c_algo_bit
drm_kms_helper ttm firewire_ohci drm firewire_core pata_via sata_via i2c_core
sata_promise crc_itu_t
[   46.657004] Pid: 792, comm: ip Not tainted 3.8.0-0.rc6.git0.1.fc19.x86_64 #1
[   46.657004] Call Trace:
[   46.657004]  &lt;IRQ&gt;  [&lt;ffffffff81065ed0&gt;] warn_slowpath_common+0x70/0xa0
[   46.657004]  [&lt;ffffffff81065f4c&gt;] warn_slowpath_fmt+0x4c/0x50
[   46.657004]  [&lt;ffffffff81364cfb&gt;] check_unmap+0x47b/0x950
[   46.657004]  [&lt;ffffffff8136522f&gt;] debug_dma_unmap_page+0x5f/0x70
[   46.657004]  [&lt;ffffffffa030f0f0&gt;] ? e100_tx_clean+0x30/0x210 [e100]
[   46.657004]  [&lt;ffffffffa030f1a8&gt;] e100_tx_clean+0xe8/0x210 [e100]
[   46.657004]  [&lt;ffffffffa030fc6f&gt;] e100_poll+0x56f/0x6c0 [e100]
[   46.657004]  [&lt;ffffffff8159dce1&gt;] ? net_rx_action+0xa1/0x370
[   46.657004]  [&lt;ffffffff8159ddb2&gt;] net_rx_action+0x172/0x370
[   46.657004]  [&lt;ffffffff810703bf&gt;] __do_softirq+0xef/0x3d0
[   46.657004]  [&lt;ffffffff816e4ebc&gt;] call_softirq+0x1c/0x30
[   46.657004]  [&lt;ffffffff8101c485&gt;] do_softirq+0x85/0xc0
[   46.657004]  [&lt;ffffffff81070885&gt;] irq_exit+0xd5/0xe0
[   46.657004]  [&lt;ffffffff816e5756&gt;] do_IRQ+0x56/0xc0
[   46.657004]  [&lt;ffffffff816dacb2&gt;] common_interrupt+0x72/0x72
[   46.657004]  &lt;EOI&gt;  [&lt;ffffffff816da1eb&gt;] ?
_raw_spin_unlock_irqrestore+0x3b/0x70
[   46.657004]  [&lt;ffffffff816d124d&gt;] __slab_free+0x58/0x38b
[   46.657004]  [&lt;ffffffff81214424&gt;] ? fsnotify_clear_marks_by_inode+0x34/0x120
[   46.657004]  [&lt;ffffffff811b0417&gt;] ? kmem_cache_free+0x97/0x320
[   46.657004]  [&lt;ffffffff8157fc14&gt;] ? sock_destroy_inode+0x34/0x40
[   46.657004]  [&lt;ffffffff8157fc14&gt;] ? sock_destroy_inode+0x34/0x40
[   46.657004]  [&lt;ffffffff811b0692&gt;] kmem_cache_free+0x312/0x320
[   46.657004]  [&lt;ffffffff8157fc14&gt;] sock_destroy_inode+0x34/0x40
[   46.657004]  [&lt;ffffffff811e8c28&gt;] destroy_inode+0x38/0x60
[   46.657004]  [&lt;ffffffff811e8d5e&gt;] evict+0x10e/0x1a0
[   46.657004]  [&lt;ffffffff811e9605&gt;] iput+0xf5/0x180
[   46.657004]  [&lt;ffffffff811e4338&gt;] dput+0x248/0x310
[   46.657004]  [&lt;ffffffff811ce0e1&gt;] __fput+0x171/0x240
[   46.657004]  [&lt;ffffffff811ce26e&gt;] ____fput+0xe/0x10
[   46.657004]  [&lt;ffffffff8108d54c&gt;] task_work_run+0xac/0xe0
[   46.657004]  [&lt;ffffffff8106c6ed&gt;] do_exit+0x26d/0xc30
[   46.657004]  [&lt;ffffffff8109eccc&gt;] ? finish_task_switch+0x7c/0x120
[   46.657004]  [&lt;ffffffff816dad58&gt;] ? retint_swapgs+0x13/0x1b
[   46.657004]  [&lt;ffffffff8106d139&gt;] do_group_exit+0x49/0xc0
[   46.657004]  [&lt;ffffffff8106d1c4&gt;] sys_exit_group+0x14/0x20
[   46.657004]  [&lt;ffffffff816e3b19&gt;] system_call_fastpath+0x16/0x1b
[   46.657004] ---[ end trace 4468c44e2156e7d1 ]---
[   46.657004] Mapped at:
[   46.657004]  [&lt;ffffffff813663d1&gt;] debug_dma_map_page+0x91/0x140
[   46.657004]  [&lt;ffffffffa030e8eb&gt;] e100_xmit_prepare+0x12b/0x1c0 [e100]
[   46.657004]  [&lt;ffffffffa030c924&gt;] e100_exec_cb+0x84/0x140 [e100]
[   46.657004]  [&lt;ffffffffa030e56a&gt;] e100_xmit_frame+0x3a/0x190 [e100]
[   46.657004]  [&lt;ffffffff8159ee89&gt;] dev_hard_start_xmit+0x259/0x6c0

Easy fix, modify the cb paramter to e100_exec_cb to return an error, and do the
dma_mapping_error check in the obvious place

This was reported previously here:
http://article.gmane.org/gmane.linux.network/257893

But nobody stepped up and fixed it.

CC: Josh Boyer &lt;jwboyer@redhat.com&gt;
CC: e1000-devel@lists.sourceforge.net
Signed-off-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Reported-by: Michal Jaegermann &lt;michal@harddata.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;
</pre>
</div>
</content>
</entry>
<entry>
<title>ixgbe: fix registration order of driver and DCA nofitication</title>
<updated>2013-04-05T04:49:13+00:00</updated>
<author>
<name>Jakub Kicinski</name>
<email>jakub.kicinski@intel.com</email>
</author>
<published>2013-04-03T16:50:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f01fc1a82c2ee68726b400fadb156bd623b5f2f1'/>
<id>f01fc1a82c2ee68726b400fadb156bd623b5f2f1</id>
<content type='text'>
ixgbe_notify_dca cannot be called before driver registration
because it expects driver's klist_devices to be allocated and
initialized. While on it make sure debugfs files are removed
when registration fails.

Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Jakub Kicinski &lt;jakub.kicinski@intel.com&gt;
Tested-by: Phil Schmitt &lt;phillip.j.schmitt@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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ixgbe_notify_dca cannot be called before driver registration
because it expects driver's klist_devices to be allocated and
initialized. While on it make sure debugfs files are removed
when registration fails.

Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Jakub Kicinski &lt;jakub.kicinski@intel.com&gt;
Tested-by: Phil Schmitt &lt;phillip.j.schmitt@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;
</pre>
</div>
</content>
</entry>
<entry>
<title>e1000e: Add missing dma_mapping_error-call in e1000_alloc_jumbo_rx_buffers</title>
<updated>2013-03-27T10:26:27+00:00</updated>
<author>
<name>Christoph Paasch</name>
<email>christoph.paasch@uclouvain.be</email>
</author>
<published>2013-03-20T08:59:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=37287fae7e4506fb0822523587c769783164cdd6'/>
<id>37287fae7e4506fb0822523587c769783164cdd6</id>
<content type='text'>
After dma_map_page, dma_mapping_error must be called. It seems safe to
not free the skb/page allocated in this function, as the skb/page can be
reused later.

Signed-off-by: Christoph Paasch &lt;christoph.paasch@uclouvain.be&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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After dma_map_page, dma_mapping_error must be called. It seems safe to
not free the skb/page allocated in this function, as the skb/page can be
reused later.

Signed-off-by: Christoph Paasch &lt;christoph.paasch@uclouvain.be&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ixgb: Add missing dma_mapping_error-call in ixgb_alloc_rx_buffers</title>
<updated>2013-03-27T10:13:27+00:00</updated>
<author>
<name>Christoph Paasch</name>
<email>christoph.paasch@uclouvain.be</email>
</author>
<published>2013-03-20T08:59:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=065946c65a61943b4c609a0a1b1bac6742b3b593'/>
<id>065946c65a61943b4c609a0a1b1bac6742b3b593</id>
<content type='text'>
After dma_map_single, dma_mapping_error must be called. It seems safe to
not free the skb allocated in this function, as the skb can be reused
later.

Additionally this patch fixes one coding-style error.

Signed-off-by: Christoph Paasch &lt;christoph.paasch@uclouvain.be&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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After dma_map_single, dma_mapping_error must be called. It seems safe to
not free the skb allocated in this function, as the skb can be reused
later.

Additionally this patch fixes one coding-style error.

Signed-off-by: Christoph Paasch &lt;christoph.paasch@uclouvain.be&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>e1000: ethtool: Add missing dma_mapping_error-call in e1000_setup_desc_rings</title>
<updated>2013-03-27T09:32:27+00:00</updated>
<author>
<name>Christoph Paasch</name>
<email>christoph.paasch@uclouvain.be</email>
</author>
<published>2013-03-20T08:59:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d6b057b5dbba97e6ba13aace5270babd7c8b658c'/>
<id>d6b057b5dbba97e6ba13aace5270babd7c8b658c</id>
<content type='text'>
After dma_map_single, dma_mapping_error must be called.

Signed-off-by: Christoph Paasch &lt;christoph.paasch@uclouvain.be&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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After dma_map_single, dma_mapping_error must be called.

Signed-off-by: Christoph Paasch &lt;christoph.paasch@uclouvain.be&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>igb: fix PHC stopping on max freq</title>
<updated>2013-03-26T10:21:34+00:00</updated>
<author>
<name>Jiri Benc</name>
<email>jbenc@redhat.com</email>
</author>
<published>2013-03-20T09:06:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=75517d92119a3cd364f618ee962055b3ded8c396'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
</feed>
