<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/net/ethernet/amazon, branch v4.11.5</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.11.5</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.11.5'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2017-02-20T15:22:59+00:00</updated>
<entry>
<title>net: ena: remove superfluous check in ena_remove()</title>
<updated>2017-02-20T15:22:59+00:00</updated>
<author>
<name>Lino Sanfilippo</name>
<email>LinoSanfilippo@gmx.de</email>
</author>
<published>2017-02-18T11:19:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=90a6c997bd8bb836809eda5efb6406d8c58c0924'/>
<id>urn:sha1:90a6c997bd8bb836809eda5efb6406d8c58c0924</id>
<content type='text'>
The check in ena_remove() for the pci driver data not being NULL is not
needed, since it is always set in the probe() function. Remove the
superfluous check.

Signed-off-by: Lino Sanfilippo &lt;LinoSanfilippo@gmx.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/ena: update driver version to 1.1.2</title>
<updated>2017-02-10T03:27:06+00:00</updated>
<author>
<name>Netanel Belgazal</name>
<email>netanel@annapurnalabs.com</email>
</author>
<published>2017-02-09T13:21:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3e5d6897176d38b54124da56183810abbd68c8bc'/>
<id>urn:sha1:3e5d6897176d38b54124da56183810abbd68c8bc</id>
<content type='text'>
Signed-off-by: Netanel Belgazal &lt;netanel@annapurnalabs.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/ena: change condition for host attribute configuration</title>
<updated>2017-02-10T03:27:06+00:00</updated>
<author>
<name>Netanel Belgazal</name>
<email>netanel@annapurnalabs.com</email>
</author>
<published>2017-02-09T13:21:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=dd8427a78ffccbacf166a2d5d5eae55b586e1afe'/>
<id>urn:sha1:dd8427a78ffccbacf166a2d5d5eae55b586e1afe</id>
<content type='text'>
Move the host info config to be the first admin command that is executed.
This change require the driver to remove the 'feature check'
from host info configuration flow.
The check is removed since the supported features bitmask field
is retrieved only after calling ENA_ADMIN_DEVICE_ATTRIBUTES admin command.

If set host info is not supported an error will be returned by the device.

Signed-off-by: Netanel Belgazal &lt;netanel@annapurnalabs.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/ena: change driver's default timeouts</title>
<updated>2017-02-10T03:27:06+00:00</updated>
<author>
<name>Netanel Belgazal</name>
<email>netanel@annapurnalabs.com</email>
</author>
<published>2017-02-09T13:21:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7102a18ac3f323805e3cd8f3dc64907644608c1e'/>
<id>urn:sha1:7102a18ac3f323805e3cd8f3dc64907644608c1e</id>
<content type='text'>
The timeouts were too agressive and sometimes cause false alarms.

Signed-off-by: Netanel Belgazal &lt;netanel@annapurnalabs.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/ena: reduce the severity of ena printouts</title>
<updated>2017-02-10T03:27:06+00:00</updated>
<author>
<name>Netanel Belgazal</name>
<email>netanel@annapurnalabs.com</email>
</author>
<published>2017-02-09T13:21:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5add6e4a222f2eb437992af6b39c8a9c9a28604a'/>
<id>urn:sha1:5add6e4a222f2eb437992af6b39c8a9c9a28604a</id>
<content type='text'>
Signed-off-by: Netanel Belgazal &lt;netanel@annapurnalabs.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/ena: use READ_ONCE to access completion descriptors</title>
<updated>2017-02-10T03:27:06+00:00</updated>
<author>
<name>Netanel Belgazal</name>
<email>netanel@annapurnalabs.com</email>
</author>
<published>2017-02-09T13:21:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a8496eb81342393e4c8280a5ec27e1872a3fb9fd'/>
<id>urn:sha1:a8496eb81342393e4c8280a5ec27e1872a3fb9fd</id>
<content type='text'>
Completion descriptors are accessed from the driver and from the device.
To avoid reading the old value, use READ_ONCE macro.

Signed-off-by: Netanel Belgazal &lt;netanel@annapurnalabs.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/ena: use napi_complete_done() return value</title>
<updated>2017-02-10T03:27:06+00:00</updated>
<author>
<name>Netanel Belgazal</name>
<email>netanel@annapurnalabs.com</email>
</author>
<published>2017-02-09T13:21:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b1669c9f5ac9d50651889e22e4a82f1b34af32d3'/>
<id>urn:sha1:b1669c9f5ac9d50651889e22e4a82f1b34af32d3</id>
<content type='text'>
Do not unamsk interrupts if we are in busy poll mode.

Signed-off-by: Netanel Belgazal &lt;netanel@annapurnalabs.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/ena: fix potential access to freed memory during device reset</title>
<updated>2017-02-10T03:27:06+00:00</updated>
<author>
<name>Netanel Belgazal</name>
<email>netanel@annapurnalabs.com</email>
</author>
<published>2017-02-09T13:21:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3f6159dbfc24c5e61fb5deb9b69e0abb934609bb'/>
<id>urn:sha1:3f6159dbfc24c5e61fb5deb9b69e0abb934609bb</id>
<content type='text'>
If the ena driver detects that the device is not behave as expected,
it tries to reset the device.
The reset flow calls ena_down, which will frees all the resources
the driver allocates and then it will reset the device.

This flow can cause memory corruption if the device is still writes
to the driver's memory space.
To overcome this potential race, move the reset before the device
resources are freed.

Signed-off-by: Netanel Belgazal &lt;netanel@annapurnalabs.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/ena: refactor ena_get_stats64 to be atomic context safe</title>
<updated>2017-02-10T03:27:06+00:00</updated>
<author>
<name>Netanel Belgazal</name>
<email>netanel@annapurnalabs.com</email>
</author>
<published>2017-02-09T13:21:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d81db24056132fe8b83e2fba337e9ea76675e68d'/>
<id>urn:sha1:d81db24056132fe8b83e2fba337e9ea76675e68d</id>
<content type='text'>
ndo_get_stat64() can be called from atomic context, but the current
implementation sends an admin command to retrieve the statistics from
the device. This admin command can sleep.

This patch re-factors the implementation of ena_get_stats64() to use
the {rx,tx}bytes/count from the driver's inner counters, and to obtain
the rx drop counter from the asynchronous keep alive (heart bit)
event.

Signed-off-by: Netanel Belgazal &lt;netanel@annapurnalabs.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/ena: fix NULL dereference when removing the driver after device reset failed</title>
<updated>2017-02-10T03:27:06+00:00</updated>
<author>
<name>Netanel Belgazal</name>
<email>netanel@annapurnalabs.com</email>
</author>
<published>2017-02-09T13:21:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=22b331c9e0a345126708af60f7d00d38b53db70b'/>
<id>urn:sha1:22b331c9e0a345126708af60f7d00d38b53db70b</id>
<content type='text'>
If for some reason the device stops responding, and the device reset
failes to recover the device, the mmio register read data structure
will not be reinitialized.

On driver removal, the driver will also try to reset the device, but
this time the mmio data structure will be NULL.

To solve this issue, perform the device reset in the remove function
only if the device is runnig.

Crash log
   54.240382] BUG: unable to handle kernel NULL pointer dereference at           (null)
[   54.244186] IP: [&lt;ffffffffc067de5a&gt;] ena_com_reg_bar_read32+0x8a/0x180 [ena_drv]
[   54.244186] PGD 0
[   54.244186] Oops: 0002 [#1] SMP
[   54.244186] Modules linked in: ena_drv(OE-) snd_hda_codec_generic kvm_intel kvm crct10dif_pclmul ppdev crc32_pclmul ghash_clmulni_intel aesni_intel snd_hda_intel aes_x86_64 snd_hda_controller lrw gf128mul cirrus glue_helper ablk_helper ttm snd_hda_codec drm_kms_helper cryptd snd_hwdep drm snd_pcm pvpanic snd_timer syscopyarea sysfillrect snd parport_pc sysimgblt serio_raw soundcore i2c_piix4 mac_hid lp parport psmouse floppy
[   54.244186] CPU: 5 PID: 1841 Comm: rmmod Tainted: G           OE 3.16.0-031600-generic #201408031935
[   54.244186] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
[   54.244186] task: ffff880135852880 ti: ffff8800bb640000 task.ti: ffff8800bb640000
[   54.244186] RIP: 0010:[&lt;ffffffffc067de5a&gt;]  [&lt;ffffffffc067de5a&gt;] ena_com_reg_bar_read32+0x8a/0x180 [ena_drv]
[   54.244186] RSP: 0018:ffff8800bb643d50  EFLAGS: 00010083
[   54.244186] RAX: 000000000000deb0 RBX: 0000000000030d40 RCX: 0000000000000003
[   54.244186] RDX: 0000000000000202 RSI: 0000000000000058 RDI: ffffc90000775104
[   54.244186] RBP: ffff8800bb643d88 R08: 0000000000000000 R09: cf00000000000000
[   54.244186] R10: 0000000fffffffe0 R11: 0000000000000001 R12: 0000000000000000
[   54.244186] R13: ffffc90000765000 R14: ffffc90000775104 R15: 00007fca1fa98090
[   54.244186] FS:  00007fca1f1bd740(0000) GS:ffff88013fd40000(0000) knlGS:0000000000000000
[   54.244186] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   54.244186] CR2: 0000000000000000 CR3: 00000000b9cf6000 CR4: 00000000001406e0
[   54.244186] Stack:
[   54.244186]  0000000000000202 0000005800000286 ffffc90000765000 ffffc90000765000
[   54.244186]  ffff880135f6b000 ffff8800b9360000 00007fca1fa98090 ffff8800bb643db8
[   54.244186]  ffffffffc0680b3d ffff8800b93608c0 ffffc90000765000 ffff880135f6b000
[   54.244186] Call Trace:
[   54.244186]  [&lt;ffffffffc0680b3d&gt;] ena_com_dev_reset+0x1d/0x1b0 [ena_drv]
[   54.244186]  [&lt;ffffffffc0678497&gt;] ena_remove+0xa7/0x130 [ena_drv]
[   54.244186]  [&lt;ffffffff813d4df6&gt;] pci_device_remove+0x46/0xc0
[   54.244186]  [&lt;ffffffff814c3b7f&gt;] __device_release_driver+0x7f/0xf0
[   54.244186]  [&lt;ffffffff814c4738&gt;] driver_detach+0xc8/0xd0
[   54.244186]  [&lt;ffffffff814c3969&gt;] bus_remove_driver+0x59/0xd0
[   54.244186]  [&lt;ffffffff814c4fde&gt;] driver_unregister+0x2e/0x60
[   54.244186]  [&lt;ffffffff810f0a80&gt;] ? show_refcnt+0x40/0x40
[   54.244186]  [&lt;ffffffff813d4ec3&gt;] pci_unregister_driver+0x23/0xa0
[   54.244186]  [&lt;ffffffffc068413f&gt;] ena_cleanup+0x10/0xed1 [ena_drv]
[   54.244186]  [&lt;ffffffff810f3a47&gt;] SyS_delete_module+0x157/0x1e0
[   54.244186]  [&lt;ffffffff81014fb7&gt;] ? do_notify_resume+0xc7/0xd0
[   54.244186]  [&lt;ffffffff81793fad&gt;] system_call_fastpath+0x1a/0x1f
[   54.244186] Code: c3 4d 8d b5 04 01 01 00 4c 89 f7 e8 e1 5a 11 c1 48 89 45 c8 41 0f b7 85 00 01 01 00 8d 48 01 66 2d 52 21 66 41 89 8d 00 01 01 00 &lt;66&gt; 41 89 04 24 0f b7 45 d4 89 45 d0 89 c1 41 0f b7 85 00 01 01
[   54.244186] RIP  [&lt;ffffffffc067de5a&gt;] ena_com_reg_bar_read32+0x8a/0x180 [ena_drv]
[   54.244186]  RSP &lt;ffff8800bb643d50&gt;
[   54.244186] CR2: 0000000000000000
[   54.244186] ---[ end trace 18dd9889b6497810 ]---

Signed-off-by: Netanel Belgazal &lt;netanel@annapurnalabs.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
