LINUX_RELEASE?=1
LINUX_VERSION-3.18 = .43
-LINUX_VERSION-4.4 = .138
+LINUX_VERSION-4.4 = .139
LINUX_KERNEL_HASH-3.18.43 = 1236e8123a6ce537d5029232560966feed054ae31776fe8481dd7d18cdd5492c
-LINUX_KERNEL_HASH-4.4.138 = e6f9c64e17e0ba353e12fe97974319d6b633cd91e4f98144752c91c9372cc4ee
+LINUX_KERNEL_HASH-4.4.139 = b66055d4208d4a6fbee73065cd2b576d095b98ea8618f9b4eb952e18d3d6ed45
ifdef KERNEL_PATCHVER
LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
#include <linux/pm_runtime.h>
#include <linux/platform_device.h>
-@@ -4945,6 +4946,9 @@ void ata_qc_complete(struct ata_queued_c
+@@ -4942,6 +4943,9 @@ void ata_qc_complete(struct ata_queued_c
{
struct ata_port *ap = qc->ap;
}
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -4995,7 +4995,7 @@ static void port_event(struct usb_hub *h
+@@ -4997,7 +4997,7 @@ static void port_event(struct usb_hub *h
if (portchange & USB_PORT_STAT_C_OVERCURRENT) {
u16 status = 0, unused;
#include <asm/bootinfo.h>
#include <asm/idle.h>
#include <asm/prom.h>
-@@ -262,6 +263,33 @@ static struct fixed_phy_status bcm47xx_f
+@@ -268,6 +269,33 @@ static struct fixed_phy_status bcm47xx_f
.duplex = DUPLEX_FULL,
};
static int __init bcm47xx_register_bus_complete(void)
{
switch (bcm47xx_bus_type) {
-@@ -281,6 +309,7 @@ static int __init bcm47xx_register_bus_c
+@@ -287,6 +315,7 @@ static int __init bcm47xx_register_bus_c
bcm47xx_workarounds();
fixed_phy_add(PHY_POLL, 0, &bcm47xx_fixed_phy_status, -1);
/**
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -933,6 +933,9 @@ static int spi_transfer_one_message(stru
+@@ -939,6 +939,9 @@ static int spi_transfer_one_message(stru
list_for_each_entry(xfer, &msg->transfers, transfer_list) {
trace_spi_transfer_start(msg, xfer);
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -1135,6 +1135,7 @@ static void __spi_pump_messages(struct s
+@@ -1141,6 +1141,7 @@ static void __spi_pump_messages(struct s
}
}
trace_spi_message_start(master->cur_msg);
if (master->prepare_message) {
-@@ -1144,6 +1145,7 @@ static void __spi_pump_messages(struct s
+@@ -1150,6 +1151,7 @@ static void __spi_pump_messages(struct s
"failed to prepare message: %d\n", ret);
master->cur_msg->status = ret;
spi_finalize_current_message(master);
return;
}
master->cur_msg_prepared = true;
-@@ -1153,6 +1155,7 @@ static void __spi_pump_messages(struct s
+@@ -1159,6 +1161,7 @@ static void __spi_pump_messages(struct s
if (ret) {
master->cur_msg->status = ret;
spi_finalize_current_message(master);
return;
}
-@@ -1160,8 +1163,10 @@ static void __spi_pump_messages(struct s
+@@ -1166,8 +1169,10 @@ static void __spi_pump_messages(struct s
if (ret) {
dev_err(&master->dev,
"failed to transfer one message from queue\n");
}
/**
-@@ -2329,6 +2334,46 @@ int spi_async_locked(struct spi_device *
+@@ -2335,6 +2340,46 @@ int spi_async_locked(struct spi_device *
EXPORT_SYMBOL_GPL(spi_async_locked);
/* Gobi 1000 QMI/wwan interface number is 3 according to qcserial */
#define QMI_GOBI1K_DEVICE(vend, prod) \
QMI_FIXED_INTF(vend, prod, 3)
-@@ -914,6 +938,8 @@ static const struct usb_device_id produc
+@@ -915,6 +939,8 @@ static const struct usb_device_id produc
{QMI_FIXED_INTF(0x03f0, 0x9d1d, 1)}, /* HP lt4120 Snapdragon X5 LTE */
{QMI_FIXED_INTF(0x22de, 0x9061, 3)}, /* WeTelecom WPD-600N */
{QMI_FIXED_INTF(0x1e0e, 0x9001, 5)}, /* SIMCom 7230E */
--- a/drivers/mtd/ubi/build.c
+++ b/drivers/mtd/ubi/build.c
-@@ -1214,6 +1214,49 @@ static struct mtd_info * __init open_mtd
+@@ -1217,6 +1217,49 @@ static struct mtd_info * __init open_mtd
return mtd;
}
static int __init ubi_init(void)
{
int err, i, k;
-@@ -1297,6 +1340,12 @@ static int __init ubi_init(void)
+@@ -1300,6 +1343,12 @@ static int __init ubi_init(void)
}
}
/**
* ata_build_rw_tf - Build ATA taskfile for given read/write request
* @tf: Target ATA taskfile
-@@ -4811,6 +4824,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
+@@ -4808,6 +4821,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
if (tag < 0)
return NULL;
}
qc = __ata_qc_from_tag(ap, tag);
qc->tag = tag;
-@@ -5707,6 +5723,9 @@ struct ata_port *ata_port_alloc(struct a
+@@ -5704,6 +5720,9 @@ struct ata_port *ata_port_alloc(struct a
ap->stats.unhandled_irq = 1;
ap->stats.idle_irq = 1;
#endif
ata_sff_port_init(ap);
return ap;
-@@ -5728,6 +5747,12 @@ static void ata_host_release(struct devi
+@@ -5725,6 +5744,12 @@ static void ata_host_release(struct devi
kfree(ap->pmp_link);
kfree(ap->slave_link);
kfree(ap);
host->ports[i] = NULL;
}
-@@ -6174,7 +6199,23 @@ int ata_host_register(struct ata_host *h
+@@ -6171,7 +6196,23 @@ int ata_host_register(struct ata_host *h
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
host->ports[i]->local_port_no = i + 1;
}
/* initialize internal qc */
/* XXX: Tag 0 is used for drivers with legacy EH as some
-@@ -4818,6 +4826,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
+@@ -4815,6 +4823,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
return NULL;
/* libsas case */
if (ap->flags & ATA_FLAG_SAS_HOST) {
tag = ata_sas_allocate_tag(ap);
-@@ -4863,6 +4874,8 @@ void ata_qc_free(struct ata_queued_cmd *
+@@ -4860,6 +4871,8 @@ void ata_qc_free(struct ata_queued_cmd *
qc->tag = ATA_TAG_POISON;
if (ap->flags & ATA_FLAG_SAS_HOST)
ata_sas_free_tag(tag, ap);