~kamalmostafa/ubuntu/+source/linux/+git/xenial:ena-xenial

Last commit made on 2016-10-21
Get this branch:
git clone -b ena-xenial https://git.launchpad.net/~kamalmostafa/ubuntu/+source/linux/+git/xenial
Only Kamal Mostafa can upload to this branch. If you are Kamal Mostafa please log in for upload directions.

Branch merges

Branch information

Recent commits

7c78082... by Kamal Mostafa

UBUNTU: [config] enable CONFIG_ENA_ETHERNET=m (Amazon ENA driver)

BugLink: http://bugs.launchpad.net/bugs/1635721

Signed-off-by: Kamal Mostafa <email address hidden>

8169939... by Netanel Belgazal <email address hidden>

net: ena: Add a driver for Amazon Elastic Network Adapters (ENA)

BugLink: http://bugs.launchpad.net/bugs/1635721

This is a driver for the ENA family of networking devices.

Signed-off-by: Netanel Belgazal <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(back-ported from commit 1738cd3ed342294360d6a74d4e58800004bff854 linux-next)
Signed-off-by: Kamal Mostafa <email address hidden>

05b013d... by David Decotigny <email address hidden>

net: ethtool: add new ETHTOOL_xLINKSETTINGS API

BugLink: http://bugs.launchpad.net/bugs/1635721

This patch defines a new ETHTOOL_GLINKSETTINGS/SLINKSETTINGS API,
handled by the new get_link_ksettings/set_link_ksettings callbacks.
This API provides support for most legacy ethtool_cmd fields, adds
support for larger link mode masks (up to 4064 bits, variable length),
and removes ethtool_cmd deprecated
fields (transceiver/maxrxpkt/maxtxpkt).

This API is deprecating the legacy ETHTOOL_GSET/SSET API and provides
the following backward compatibility properties:
 - legacy ethtool with legacy drivers: no change, still using the
   get_settings/set_settings callbacks.
 - legacy ethtool with new get/set_link_ksettings drivers: the new
   driver callbacks are used, data internally converted to legacy
   ethtool_cmd. ETHTOOL_GSET will return only the 1st 32b of each link
   mode mask. ETHTOOL_SSET will fail if user tries to set the
   ethtool_cmd deprecated fields to
   non-0 (transceiver/maxrxpkt/maxtxpkt). A kernel warning is logged if
   driver sets higher bits.
 - future ethtool with legacy drivers: no change, still using the
   get_settings/set_settings callbacks, internally converted to new data
   structure. Deprecated fields (transceiver/maxrxpkt/maxtxpkt) will be
   ignored and seen as 0 from user space. Note that that "future"
   ethtool tool will not allow changes to these deprecated fields.
 - future ethtool with new drivers: direct call to the new callbacks.

By "future" ethtool, what is meant is:
 - query: first try ETHTOOL_GLINKSETTINGS, and revert to ETHTOOL_GSET if
   fails
 - set: query first and remember which of ETHTOOL_GLINKSETTINGS or
   ETHTOOL_GSET was successful
   + if ETHTOOL_GLINKSETTINGS was successful, then change config with
     ETHTOOL_SLINKSETTINGS. A failure there is final (do not try
     ETHTOOL_SSET).
   + otherwise ETHTOOL_GSET was successful, change config with
     ETHTOOL_SSET. A failure there is final (do not try
     ETHTOOL_SLINKSETTINGS).

The interaction user/kernel via the new API requires a small
ETHTOOL_GLINKSETTINGS handshake first to agree on the length of the link
mode bitmaps. If kernel doesn't agree with user, it returns the bitmap
length it is expecting from user as a negative length (and cmd field is
0). When kernel and user agree, kernel returns valid info in all
fields (ie. link mode length > 0 and cmd is ETHTOOL_GLINKSETTINGS).

Data structure crossing user/kernel boundary is 32/64-bit
agnostic. Converted internally to a legal kernel bitmap.

The internal __ethtool_get_settings kernel helper will gradually be
replaced by __ethtool_get_link_ksettings by the time the first
"link_settings" drivers start to appear. So this patch doesn't change
it, it will be removed before it needs to be changed.

Signed-off-by: David Decotigny <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(back-ported from commit 3f1ac7a700d039c61d8d8b99f28d605d489a60cf)
Signed-off-by: Kamal Mostafa <email address hidden>

09a3622... by David Decotigny <email address hidden>

lib/bitmap.c: conversion routines to/from u32 array

BugLink: http://bugs.launchpad.net/bugs/1635721

Aimed at transferring bitmaps to/from user-space in a 32/64-bit agnostic
way.

Tested:
  unit tests (next patch) on qemu i386, x86_64, ppc, ppc64 BE and LE,
  ARM.

Signed-off-by: David Decotigny <email address hidden>
Reviewed-by: Ben Hutchings <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(cherry picked from commit e52bc7c28ac9f54db6f86b19ed65c599def18c98)
Signed-off-by: Kamal Mostafa <email address hidden>

dca4a63... by Alex Hung

ACPI / video: skip evaluating _DOD when it does not exist

Some system supports hybrid graphics and its discrete VGA
does not have any connectors and therefore has no _DOD method.

BugLink: http://bugs.launchpad.net/bugs/1634607

Signed-off-by: Alex Hung <email address hidden>
Reviewed-by: Aaron Lu <email address hidden>
Signed-off-by: Rafael J. Wysocki <email address hidden>
(cherry picked from commit e34fbbac669de0b7fb7803929d0477f35f6e2833)
Signed-off-by: Alex Hung <email address hidden>
Acked-by: Tim Gardner <email address hidden>
Acked-by: Colin Ian King <email address hidden>
Signed-off-by: Seth Forshee <email address hidden>

5674502... by ethan.hsieh

Bluetooth: btusb: Fix atheros firmware download error

BugLink: http://bugs.launchpad.net/bugs/1634380

Move usb_autopm_get_interface() ahead of setup_on_usb() to prevent
device from sending usb control message in usb suspend mode.

The error message is as below:

[ 83.944103] btusb 1-2:1.1: usb_suspend_interface: status 0
[ 83.944107] btusb 1-2:1.0: usb_suspend_interface: status 0
[ 83.960132] usb 1-2: usb auto-suspend, wakeup 0
[ 83.976156] usb 1-2: usb_suspend_device: status 0
[ 83.976162] usb 1-2: usb_suspend_both: status 0
[ 298.689106] Bluetooth: hci0
[ 298.689399] Bluetooth: hci0: Failed to access otp area (-113)

Signed-off-by: Ethan Hsieh <email address hidden>
Signed-off-by: Marcel Holtmann <email address hidden>
(cherry picked from commit c7e163fe282f34efdf77fb09b333529de97a6a10)
Signed-off-by: AceLan Kao <email address hidden>
Acked-by: Tim Gardner <email address hidden>
Acked-by: Seth Forshee <email address hidden>
Signed-off-by: Seth Forshee <email address hidden>

0ba7d84... by Rui Wang

crypto: cryptd - Assign statesize properly

BugLink: http://bugs.launchpad.net/bugs/1633058

cryptd_create_hash() fails by returning -EINVAL. It is because after
8996eafdc ("crypto: ahash - ensure statesize is non-zero") all ahash
drivers must have a non-zero statesize.

This patch fixes the problem by properly assigning the statesize.

Signed-off-by: Rui Wang <email address hidden>
Signed-off-by: Herbert Xu <email address hidden>
(cherry picked from commit 1a07834024dfca5c4bed5de8f8714306e0a11836)
Signed-off-by: Tim Gardner <email address hidden>
Acked-by: Marcelo Cerri <email address hidden>
Acked-by: Seth Forshee <email address hidden>
Signed-off-by: Seth Forshee <email address hidden>

1c9144f... by Rui Wang

crypto: ghash-clmulni - Fix load failure

BugLink: http://bugs.launchpad.net/bugs/1633058

ghash_clmulni_intel fails to load on Linux 4.3+ with the following message:
"modprobe: ERROR: could not insert 'ghash_clmulni_intel': Invalid argument"

After 8996eafdc ("crypto: ahash - ensure statesize is non-zero") all ahash
drivers are required to implement import()/export(), and must have a non-
zero statesize.

This patch has been tested with the algif_hash interface. The calculated
digest values, after several rounds of import()s and export()s, match those
calculated by tcrypt.

Signed-off-by: Rui Wang <email address hidden>
Signed-off-by: Herbert Xu <email address hidden>
(cherry picked from commit 3a020a723c65eb8ffa7c237faca26521a024e582)
Signed-off-by: Tim Gardner <email address hidden>
Acked-by: Marcelo Cerri <email address hidden>
Acked-by: Seth Forshee <email address hidden>
Signed-off-by: Seth Forshee <email address hidden>

f026a9c... by Greg Kroah-Hartman <email address hidden>

Linux 4.4.25

BugLink: http://bugs.launchpad.net/bugs/1634153

Signed-off-by: Tim Gardner <email address hidden>
Signed-off-by: Seth Forshee <email address hidden>

970dea9... by Jarkko Sakkinen <email address hidden>

tpm_crb: fix crb_req_canceled behavior

BugLink: http://bugs.launchpad.net/bugs/1634153

commit 72fd50e14e46dc0edf360631bdece87c2f066a97 upstream.

The req_canceled() callback is used by tpm_transmit() periodically to
check whether the request has been canceled while it is receiving a
response from the TPM.

The TPM_CRB_CTRL_CANCEL register was cleared already in the crb_cancel
callback, which has two consequences:

* Cancel might not happen.
* req_canceled() always returns zero.

A better place to clear the register is when starting to send a new
command. The behavior of TPM_CRB_CTRL_CANCEL is described in the
section 5.5.3.6 of the PTP specification.

Fixes: 30fc8d138e91 ("tpm: TPM 2.0 CRB Interface")
Signed-off-by: Jarkko Sakkinen <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>

Signed-off-by: Tim Gardner <email address hidden>

Conflicts:
 drivers/char/tpm/tpm_crb.c

Signed-off-by: Seth Forshee <email address hidden>