summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--0001-Temporarily-work-around-gcc-aliasing-warning-error.patch27
-rw-r--r--Revert-the-random-series-for-4.16.4.patch155
-rw-r--r--baseconfig/CONFIG_HW_RANDOM_VIRTIO2
-rw-r--r--baseconfig/CONFIG_VIRTIO1
-rw-r--r--baseconfig/CONFIG_VIRTIO_PCI2
-rw-r--r--kernel-aarch64-debug.config5
-rw-r--r--kernel-aarch64.config5
-rw-r--r--kernel-armv7hl-debug.config5
-rw-r--r--kernel-armv7hl-lpae-debug.config5
-rw-r--r--kernel-armv7hl-lpae.config5
-rw-r--r--kernel-armv7hl.config5
-rw-r--r--kernel-i686-PAE.config5
-rw-r--r--kernel-i686-PAEdebug.config5
-rw-r--r--kernel-i686-debug.config5
-rw-r--r--kernel-i686.config5
-rw-r--r--kernel-ppc64-debug.config5
-rw-r--r--kernel-ppc64.config5
-rw-r--r--kernel-ppc64le-debug.config5
-rw-r--r--kernel-ppc64le.config5
-rw-r--r--kernel-s390x-debug.config5
-rw-r--r--kernel-s390x.config5
-rw-r--r--kernel-x86_64-debug.config5
-rw-r--r--kernel-x86_64.config5
-rw-r--r--kernel.spec9
-rw-r--r--mvebu-a37xx-fixes.patch62
-rw-r--r--xhci-Fix-Kernel-oops-in-xhci-dbgtty.patch95
26 files changed, 81 insertions, 362 deletions
diff --git a/0001-Temporarily-work-around-gcc-aliasing-warning-error.patch b/0001-Temporarily-work-around-gcc-aliasing-warning-error.patch
deleted file mode 100644
index 24302d2ec..000000000
--- a/0001-Temporarily-work-around-gcc-aliasing-warning-error.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 991b5e95d4fe7778c8f5e7d7f478d01134d51ca7 Mon Sep 17 00:00:00 2001
-From: Laura Abbott <labbott@redhat.com>
-Date: Wed, 14 Mar 2018 14:20:02 -0700
-Subject: [PATCH] Temporarily work around gcc aliasing warning/error
-
-Signed-off-by: Laura Abbott <labbott@redhat.com>
----
- tools/lib/str_error_r.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/tools/lib/str_error_r.c b/tools/lib/str_error_r.c
-index d6d65537b0d9..c0ede4f6adae 100644
---- a/tools/lib/str_error_r.c
-+++ b/tools/lib/str_error_r.c
-@@ -21,7 +21,8 @@
- char *str_error_r(int errnum, char *buf, size_t buflen)
- {
- int err = strerror_r(errnum, buf, buflen);
-+ void *temp = buf;
- if (err)
-- snprintf(buf, buflen, "INTERNAL ERROR: strerror_r(%d, %p, %zd)=%d", errnum, buf, buflen, err);
-+ snprintf(buf, buflen, "INTERNAL ERROR: strerror_r(%d, %p, %zd)=%d", errnum, temp, buflen, err);
- return buf;
- }
---
-2.16.2
-
diff --git a/Revert-the-random-series-for-4.16.4.patch b/Revert-the-random-series-for-4.16.4.patch
index 297002589..f410fd310 100644
--- a/Revert-the-random-series-for-4.16.4.patch
+++ b/Revert-the-random-series-for-4.16.4.patch
@@ -1,120 +1,7 @@
-From 4b97692c181f44717a5cf940fe1e6451c974f4b4 Mon Sep 17 00:00:00 2001
+From 5744a0927df22f46e4b7f134b3dfb405fdfcf6ce Mon Sep 17 00:00:00 2001
From: Jeremy Cline <jeremy@jcline.org>
-Date: Tue, 1 May 2018 18:52:14 -0400
-Subject: [PATCH 1/4] Revert "random: add new ioctl RNDRESEEDCRNG"
-
-This reverts commit e21e58679d3e9db0258106ffd3c8db76e66c5e6e.
-
-Signed-off-by: Jeremy Cline <jeremy@jcline.org>
----
- drivers/char/random.c | 13 +------------
- include/uapi/linux/random.h | 3 ---
- 2 files changed, 1 insertion(+), 15 deletions(-)
-
-diff --git a/drivers/char/random.c b/drivers/char/random.c
-index 38729baed6ee..b3571a1c5fb7 100644
---- a/drivers/char/random.c
-+++ b/drivers/char/random.c
-@@ -429,7 +429,6 @@ struct crng_state primary_crng = {
- static int crng_init = 0;
- #define crng_ready() (likely(crng_init > 1))
- static int crng_init_cnt = 0;
--static unsigned long crng_global_init_time = 0;
- #define CRNG_INIT_CNT_THRESH (2*CHACHA20_KEY_SIZE)
- static void _extract_crng(struct crng_state *crng,
- __u32 out[CHACHA20_BLOCK_WORDS]);
-@@ -906,8 +905,7 @@ static void _extract_crng(struct crng_state *crng,
- unsigned long v, flags;
-
- if (crng_ready() &&
-- (time_after(crng_global_init_time, crng->init_time) ||
-- time_after(jiffies, crng->init_time + CRNG_RESEED_INTERVAL)))
-+ time_after(jiffies, crng->init_time + CRNG_RESEED_INTERVAL))
- crng_reseed(crng, crng == &primary_crng ? &input_pool : NULL);
- spin_lock_irqsave(&crng->lock, flags);
- if (arch_get_random_long(&v))
-@@ -1740,7 +1738,6 @@ static int rand_initialize(void)
- init_std_data(&input_pool);
- init_std_data(&blocking_pool);
- crng_initialize(&primary_crng);
-- crng_global_init_time = jiffies;
-
- #ifdef CONFIG_NUMA
- pool = kcalloc(nr_node_ids, sizeof(*pool), GFP_KERNEL|__GFP_NOFAIL);
-@@ -1927,14 +1924,6 @@ static long random_ioctl(struct file *f, unsigned int cmd, unsigned long arg)
- input_pool.entropy_count = 0;
- blocking_pool.entropy_count = 0;
- return 0;
-- case RNDRESEEDCRNG:
-- if (!capable(CAP_SYS_ADMIN))
-- return -EPERM;
-- if (crng_init < 2)
-- return -ENODATA;
-- crng_reseed(&primary_crng, NULL);
-- crng_global_init_time = jiffies - 1;
-- return 0;
- default:
- return -EINVAL;
- }
-diff --git a/include/uapi/linux/random.h b/include/uapi/linux/random.h
-index 26ee91300e3e..c34f4490d025 100644
---- a/include/uapi/linux/random.h
-+++ b/include/uapi/linux/random.h
-@@ -35,9 +35,6 @@
- /* Clear the entropy pool and associated counters. (Superuser only.) */
- #define RNDCLEARPOOL _IO( 'R', 0x06 )
-
--/* Reseed CRNG. (Superuser only.) */
--#define RNDRESEEDCRNG _IO( 'R', 0x07 )
--
- struct rand_pool_info {
- int entropy_count;
- int buf_size;
---
-2.17.0
-
-From 5084e3e3af02cdc4e247e66561215b6b06ccffc8 Mon Sep 17 00:00:00 2001
-From: Jeremy Cline <jeremy@jcline.org>
-Date: Tue, 1 May 2018 18:52:17 -0400
-Subject: [PATCH 2/4] Revert "random: crng_reseed() should lock the crng
- instance that it is modifying"
-
-This reverts commit 6efa23d5851f1702a3cddbdde63607ea6588b665.
-
-Signed-off-by: Jeremy Cline <jeremy@jcline.org>
----
- drivers/char/random.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/char/random.c b/drivers/char/random.c
-index b3571a1c5fb7..fda8214543cc 100644
---- a/drivers/char/random.c
-+++ b/drivers/char/random.c
-@@ -879,7 +879,7 @@ static void crng_reseed(struct crng_state *crng, struct entropy_store *r)
- _crng_backtrack_protect(&primary_crng, buf.block,
- CHACHA20_KEY_SIZE);
- }
-- spin_lock_irqsave(&crng->lock, flags);
-+ spin_lock_irqsave(&primary_crng.lock, flags);
- for (i = 0; i < 8; i++) {
- unsigned long rv;
- if (!arch_get_random_seed_long(&rv) &&
-@@ -889,7 +889,7 @@ static void crng_reseed(struct crng_state *crng, struct entropy_store *r)
- }
- memzero_explicit(&buf, sizeof(buf));
- crng->init_time = jiffies;
-- spin_unlock_irqrestore(&crng->lock, flags);
-+ spin_unlock_irqrestore(&primary_crng.lock, flags);
- if (crng == &primary_crng && crng_init < 2) {
- invalidate_batched_entropy();
- crng_init = 2;
---
-2.17.0
-
-From f3035506194216b5220be6fd8a2c5666412978a0 Mon Sep 17 00:00:00 2001
-From: Jeremy Cline <jeremy@jcline.org>
-Date: Tue, 1 May 2018 18:52:19 -0400
-Subject: [PATCH 3/4] Revert "random: use a different mixing algorithm for
+Date: Wed, 2 May 2018 15:16:29 -0400
+Subject: [PATCH 1/2] Revert "random: use a different mixing algorithm for
add_device_randomness()"
This reverts commit 89b59f050347d376c2ace8b1ceb908a218cfdc2e.
@@ -125,12 +12,12 @@ Signed-off-by: Jeremy Cline <jeremy@jcline.org>
1 file changed, 4 insertions(+), 51 deletions(-)
diff --git a/drivers/char/random.c b/drivers/char/random.c
-index fda8214543cc..d0b2f89e9c6e 100644
+index 8f4e11842c60..aa5b04af86c6 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
-@@ -786,10 +786,6 @@ static void crng_initialize(struct crng_state *crng)
- crng->init_time = jiffies - CRNG_RESEED_INTERVAL - 1;
- }
+@@ -831,10 +831,6 @@ static void numa_crng_init(void)
+ static void numa_crng_init(void) {}
+ #endif
-/*
- * crng_fast_load() can be called by code in the interrupt service
@@ -139,7 +26,7 @@ index fda8214543cc..d0b2f89e9c6e 100644
static int crng_fast_load(const char *cp, size_t len)
{
unsigned long flags;
-@@ -816,51 +812,6 @@ static int crng_fast_load(const char *cp, size_t len)
+@@ -861,51 +857,6 @@ static int crng_fast_load(const char *cp, size_t len)
return 1;
}
@@ -191,7 +78,7 @@ index fda8214543cc..d0b2f89e9c6e 100644
static void crng_reseed(struct crng_state *crng, struct entropy_store *r)
{
unsigned long flags;
-@@ -1030,8 +981,10 @@ void add_device_randomness(const void *buf, unsigned int size)
+@@ -1089,8 +1040,10 @@ void add_device_randomness(const void *buf, unsigned int size)
unsigned long time = random_get_entropy() ^ jiffies;
unsigned long flags;
@@ -207,10 +94,10 @@ index fda8214543cc..d0b2f89e9c6e 100644
--
2.17.0
-From fc6be05c0f6503dab8e2c5c69cafda38d9d9417a Mon Sep 17 00:00:00 2001
+From e1b1b5b62740b0e6ea8258a4eb81b2a336538fed Mon Sep 17 00:00:00 2001
From: Jeremy Cline <jeremy@jcline.org>
-Date: Tue, 1 May 2018 18:52:20 -0400
-Subject: [PATCH 4/4] Revert "random: fix crng_ready() test"
+Date: Wed, 2 May 2018 15:18:03 -0400
+Subject: [PATCH 2/2] Revert "random: fix crng_ready() test"
This reverts commit cd8d7a5778a4abf76ee8fe8f1bfcf78976029f8d.
@@ -220,19 +107,19 @@ Signed-off-by: Jeremy Cline <jeremy@jcline.org>
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/char/random.c b/drivers/char/random.c
-index d0b2f89e9c6e..11c23ca57430 100644
+index aa5b04af86c6..ef05cc685b74 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
-@@ -427,7 +427,7 @@ struct crng_state primary_crng = {
+@@ -428,7 +428,7 @@ struct crng_state primary_crng = {
* its value (from 0->1->2).
*/
static int crng_init = 0;
-#define crng_ready() (likely(crng_init > 1))
+#define crng_ready() (likely(crng_init > 0))
static int crng_init_cnt = 0;
+ static unsigned long crng_global_init_time = 0;
#define CRNG_INIT_CNT_THRESH (2*CHACHA20_KEY_SIZE)
- static void _extract_crng(struct crng_state *crng,
-@@ -793,7 +793,7 @@ static int crng_fast_load(const char *cp, size_t len)
+@@ -838,7 +838,7 @@ static int crng_fast_load(const char *cp, size_t len)
if (!spin_trylock_irqsave(&primary_crng.lock, flags))
return 0;
@@ -241,16 +128,16 @@ index d0b2f89e9c6e..11c23ca57430 100644
spin_unlock_irqrestore(&primary_crng.lock, flags);
return 0;
}
-@@ -855,7 +855,7 @@ static void _extract_crng(struct crng_state *crng,
+@@ -913,7 +913,7 @@ static void _extract_crng(struct crng_state *crng,
{
unsigned long v, flags;
- if (crng_ready() &&
+ if (crng_init > 1 &&
- time_after(jiffies, crng->init_time + CRNG_RESEED_INTERVAL))
+ (time_after(crng_global_init_time, crng->init_time) ||
+ time_after(jiffies, crng->init_time + CRNG_RESEED_INTERVAL)))
crng_reseed(crng, crng == &primary_crng ? &input_pool : NULL);
- spin_lock_irqsave(&crng->lock, flags);
-@@ -1141,7 +1141,7 @@ void add_interrupt_randomness(int irq, int irq_flags)
+@@ -1200,7 +1200,7 @@ void add_interrupt_randomness(int irq, int irq_flags)
fast_mix(fast_pool);
add_interrupt_bench(cycles);
@@ -259,7 +146,7 @@ index d0b2f89e9c6e..11c23ca57430 100644
if ((fast_pool->count >= 64) &&
crng_fast_load((char *) fast_pool->pool,
sizeof(fast_pool->pool))) {
-@@ -2214,7 +2214,7 @@ void add_hwgenerator_randomness(const char *buffer, size_t count,
+@@ -2269,7 +2269,7 @@ void add_hwgenerator_randomness(const char *buffer, size_t count,
{
struct entropy_store *poolp = &input_pool;
diff --git a/baseconfig/CONFIG_HW_RANDOM_VIRTIO b/baseconfig/CONFIG_HW_RANDOM_VIRTIO
index 1b31e5535..ec44b8453 100644
--- a/baseconfig/CONFIG_HW_RANDOM_VIRTIO
+++ b/baseconfig/CONFIG_HW_RANDOM_VIRTIO
@@ -1 +1 @@
-CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_VIRTIO=y
diff --git a/baseconfig/CONFIG_VIRTIO b/baseconfig/CONFIG_VIRTIO
new file mode 100644
index 000000000..300572920
--- /dev/null
+++ b/baseconfig/CONFIG_VIRTIO
@@ -0,0 +1 @@
+CONFIG_VIRTIO=y
diff --git a/baseconfig/CONFIG_VIRTIO_PCI b/baseconfig/CONFIG_VIRTIO_PCI
index 58505d3a5..902a03720 100644
--- a/baseconfig/CONFIG_VIRTIO_PCI
+++ b/baseconfig/CONFIG_VIRTIO_PCI
@@ -1 +1 @@
-CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI=y
diff --git a/kernel-aarch64-debug.config b/kernel-aarch64-debug.config
index e2c278f55..28f3799b8 100644
--- a/kernel-aarch64-debug.config
+++ b/kernel-aarch64-debug.config
@@ -2045,7 +2045,7 @@ CONFIG_HW_RANDOM_MSM=m
CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
-CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM_XGENE=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK_QCOM=m
@@ -6504,8 +6504,9 @@ CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_VSOCKETS=m
+CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_VITESSE_PHY=m
CONFIG_VL6180=m
diff --git a/kernel-aarch64.config b/kernel-aarch64.config
index cb216ea8b..900c600b9 100644
--- a/kernel-aarch64.config
+++ b/kernel-aarch64.config
@@ -2027,7 +2027,7 @@ CONFIG_HW_RANDOM_MSM=m
CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
-CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM_XGENE=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK_QCOM=m
@@ -6480,8 +6480,9 @@ CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_VSOCKETS=m
+CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_VITESSE_PHY=m
CONFIG_VL6180=m
diff --git a/kernel-armv7hl-debug.config b/kernel-armv7hl-debug.config
index 2fd9013d7..5ef7764ad 100644
--- a/kernel-armv7hl-debug.config
+++ b/kernel-armv7hl-debug.config
@@ -2167,7 +2167,7 @@ CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_ST=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
-CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK_OMAP=m
CONFIG_HWSPINLOCK_QCOM=m
@@ -7045,8 +7045,9 @@ CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_VSOCKETS=m
+CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_VITESSE_PHY=m
CONFIG_VL6180=m
diff --git a/kernel-armv7hl-lpae-debug.config b/kernel-armv7hl-lpae-debug.config
index 6bc041c60..31cdea003 100644
--- a/kernel-armv7hl-lpae-debug.config
+++ b/kernel-armv7hl-lpae-debug.config
@@ -2059,7 +2059,7 @@ CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
-CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -6593,8 +6593,9 @@ CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_VSOCKETS=m
+CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_VITESSE_PHY=m
CONFIG_VL6180=m
diff --git a/kernel-armv7hl-lpae.config b/kernel-armv7hl-lpae.config
index 73895c65f..314692d2a 100644
--- a/kernel-armv7hl-lpae.config
+++ b/kernel-armv7hl-lpae.config
@@ -2041,7 +2041,7 @@ CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
-CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -6569,8 +6569,9 @@ CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_VSOCKETS=m
+CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_VITESSE_PHY=m
CONFIG_VL6180=m
diff --git a/kernel-armv7hl.config b/kernel-armv7hl.config
index 2564bc842..78e2be3dd 100644
--- a/kernel-armv7hl.config
+++ b/kernel-armv7hl.config
@@ -2149,7 +2149,7 @@ CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_ST=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
-CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK_OMAP=m
CONFIG_HWSPINLOCK_QCOM=m
@@ -7021,8 +7021,9 @@ CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_VSOCKETS=m
+CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_VITESSE_PHY=m
CONFIG_VL6180=m
diff --git a/kernel-i686-PAE.config b/kernel-i686-PAE.config
index 3b3243106..093f6363f 100644
--- a/kernel-i686-PAE.config
+++ b/kernel-i686-PAE.config
@@ -1899,7 +1899,7 @@ CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIA=m
-CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -6065,8 +6065,9 @@ CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_VSOCKETS=m
+CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_VITESSE_PHY=m
CONFIG_VL6180=m
diff --git a/kernel-i686-PAEdebug.config b/kernel-i686-PAEdebug.config
index 3e31e6fd1..b2a174304 100644
--- a/kernel-i686-PAEdebug.config
+++ b/kernel-i686-PAEdebug.config
@@ -1918,7 +1918,7 @@ CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIA=m
-CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -6088,8 +6088,9 @@ CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_VSOCKETS=m
+CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_VITESSE_PHY=m
CONFIG_VL6180=m
diff --git a/kernel-i686-debug.config b/kernel-i686-debug.config
index 339e0e412..5257af701 100644
--- a/kernel-i686-debug.config
+++ b/kernel-i686-debug.config
@@ -1918,7 +1918,7 @@ CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIA=m
-CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -6088,8 +6088,9 @@ CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_VSOCKETS=m
+CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_VITESSE_PHY=m
CONFIG_VL6180=m
diff --git a/kernel-i686.config b/kernel-i686.config
index c27fb87a7..6edbc07ab 100644
--- a/kernel-i686.config
+++ b/kernel-i686.config
@@ -1899,7 +1899,7 @@ CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIA=m
-CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -6065,8 +6065,9 @@ CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_VSOCKETS=m
+CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_VITESSE_PHY=m
CONFIG_VL6180=m
diff --git a/kernel-ppc64-debug.config b/kernel-ppc64-debug.config
index 848a70e62..50775ee54 100644
--- a/kernel-ppc64-debug.config
+++ b/kernel-ppc64-debug.config
@@ -1811,7 +1811,7 @@ CONFIG_HW_RANDOM_POWERNV=m
CONFIG_HW_RANDOM_PSERIES=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
-CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -5845,8 +5845,9 @@ CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_VSOCKETS=m
+CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_VITESSE_PHY=m
CONFIG_VL6180=m
diff --git a/kernel-ppc64.config b/kernel-ppc64.config
index ed3fa2a54..86e291585 100644
--- a/kernel-ppc64.config
+++ b/kernel-ppc64.config
@@ -1792,7 +1792,7 @@ CONFIG_HW_RANDOM_POWERNV=m
CONFIG_HW_RANDOM_PSERIES=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
-CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -5820,8 +5820,9 @@ CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_VSOCKETS=m
+CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_VITESSE_PHY=m
CONFIG_VL6180=m
diff --git a/kernel-ppc64le-debug.config b/kernel-ppc64le-debug.config
index f8f99e020..7f4777803 100644
--- a/kernel-ppc64le-debug.config
+++ b/kernel-ppc64le-debug.config
@@ -1763,7 +1763,7 @@ CONFIG_HW_RANDOM_POWERNV=m
CONFIG_HW_RANDOM_PSERIES=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
-CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -5773,8 +5773,9 @@ CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_VSOCKETS=m
+CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_VITESSE_PHY=m
CONFIG_VL6180=m
diff --git a/kernel-ppc64le.config b/kernel-ppc64le.config
index 6c515f8b3..8a7b49443 100644
--- a/kernel-ppc64le.config
+++ b/kernel-ppc64le.config
@@ -1744,7 +1744,7 @@ CONFIG_HW_RANDOM_POWERNV=m
CONFIG_HW_RANDOM_PSERIES=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
-CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -5748,8 +5748,9 @@ CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_VSOCKETS=m
+CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_VITESSE_PHY=m
CONFIG_VL6180=m
diff --git a/kernel-s390x-debug.config b/kernel-s390x-debug.config
index 54b47a5db..81b395290 100644
--- a/kernel-s390x-debug.config
+++ b/kernel-s390x-debug.config
@@ -1726,7 +1726,7 @@ CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_S390=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
-CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -5666,8 +5666,9 @@ CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_VSOCKETS=m
+CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_VITESSE_PHY=m
CONFIG_VL6180=m
diff --git a/kernel-s390x.config b/kernel-s390x.config
index 785fc05aa..b36ea258d 100644
--- a/kernel-s390x.config
+++ b/kernel-s390x.config
@@ -1707,7 +1707,7 @@ CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_S390=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
-CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -5641,8 +5641,9 @@ CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_VSOCKETS=m
+CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_VITESSE_PHY=m
CONFIG_VL6180=m
diff --git a/kernel-x86_64-debug.config b/kernel-x86_64-debug.config
index dce53cf78..7cbff2c9a 100644
--- a/kernel-x86_64-debug.config
+++ b/kernel-x86_64-debug.config
@@ -1961,7 +1961,7 @@ CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIA=m
-CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -6180,8 +6180,9 @@ CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_VSOCKETS=m
+CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_VITESSE_PHY=m
CONFIG_VL6180=m
diff --git a/kernel-x86_64.config b/kernel-x86_64.config
index 2fe868f3a..e8a89d750 100644
--- a/kernel-x86_64.config
+++ b/kernel-x86_64.config
@@ -1942,7 +1942,7 @@ CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIA=m
-CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -6157,8 +6157,9 @@ CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_VSOCKETS=m
+CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
CONFIG_VITESSE_PHY=m
CONFIG_VL6180=m
diff --git a/kernel.spec b/kernel.spec
index 5591fb185..5749cc07d 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -522,9 +522,6 @@ Source5000: patch-4.%{base_sublevel}-git%{gitrev}.xz
# ongoing complaint, full discussion delayed until ksummit/plumbers
Patch002: 0001-iio-Use-event-header-from-kernel-tree.patch
-# gcc -Werror=aliasing workaround
-Patch003: 0001-Temporarily-work-around-gcc-aliasing-warning-error.patch
-
%if !%{nopatches}
# Git trees.
@@ -674,9 +671,6 @@ Patch503: v3-2-2-Input-synaptics---Lenovo-X1-Carbon-5-should-use-SMBUS-RMI.patch
# rhbz 1549316
Patch504: ipmi-fixes.patch
-# rhbz 1565131
-Patch507: xhci-Fix-Kernel-oops-in-xhci-dbgtty.patch
-
# rhbz 1514836
Patch508: Bluetooth-btusb-autosuspend-XPS-13-9360-fixes.patch
@@ -1938,6 +1932,9 @@ fi
#
#
%changelog
+* Wed May 02 2018 Jeremy Cline <jeremy@jcline.org> - 4.16.7-200
+- Linux v4.16.7
+
* Tue May 01 2018 Jeremy Cline <jeremy@jcline.org> - 4.16.6-202
- Revert the entire random series from 4.16.4 (rhbz 1572944)
diff --git a/mvebu-a37xx-fixes.patch b/mvebu-a37xx-fixes.patch
index c4390ccfe..0c04e8b00 100644
--- a/mvebu-a37xx-fixes.patch
+++ b/mvebu-a37xx-fixes.patch
@@ -1,65 +1,3 @@
-From patchwork Sun Apr 22 12:33:46 2018
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: serial: mvebu-uart: Fix local flags handling on termios update
-From: Marc Zyngier <Marc.Zyngier@arm.com>
-X-Patchwork-Id: 10354521
-Message-Id: <20180422123346.15538-1-marc.zyngier@arm.com>
-To: linux-arm-kernel@lists.infradead.org,
- linux-kernel@vger.kernel.org
-Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>,
- Allen Yan <yanwei@marvell.com>,
- Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
- Miquel Raynal <miquel.raynal@free-electrons.com>
-Date: Sun, 22 Apr 2018 13:33:46 +0100
-
-Commit 68a0db1d7da2 reworked the baud rate selection, but also added
-a (not so) subtle change in the way the local flags (c_lflag in the
-termios structure) are handled, forcing the new flags to always be the
-same as the old ones.
-
-The reason for that particular change is both obscure and undocumented.
-It also completely breaks userspace. Something as trivial as getty is
-unusable:
-
-<example>
- Debian GNU/Linux 9 sy-borg ttyMV0
-
- sy-borg login: root
- root
- [timeout]
-
- Debian GNU/Linux 9 sy-borg ttyMV0
-</example>
-
-which is quite obvious in retrospect: getty cannot get in control of
-the echo mode, is stuck in canonical mode, and times out without ever
-seeing anything valid. It also begs the question of how this change was
-ever tested.
-
-The fix is pretty obvious: stop messing with c_lflag, and the world
-will be a happier place.
-
-Cc: stable@vger.kernel.org # 4.15+
-Fixes: 68a0db1d7da2 ("serial: mvebu-uart: add function to change baudrate")
-Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
----
- drivers/tty/serial/mvebu-uart.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/drivers/tty/serial/mvebu-uart.c b/drivers/tty/serial/mvebu-uart.c
-index 750e5645dc85..f503fab1e268 100644
---- a/drivers/tty/serial/mvebu-uart.c
-+++ b/drivers/tty/serial/mvebu-uart.c
-@@ -495,7 +495,6 @@ static void mvebu_uart_set_termios(struct uart_port *port,
- termios->c_iflag |= old->c_iflag & ~(INPCK | IGNPAR);
- termios->c_cflag &= CREAD | CBAUD;
- termios->c_cflag |= old->c_cflag & ~(CREAD | CBAUD);
-- termios->c_lflag = old->c_lflag;
- }
-
- spin_unlock_irqrestore(&port->lock, flags);
From patchwork Sun Mar 25 19:57:36 2018
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
diff --git a/xhci-Fix-Kernel-oops-in-xhci-dbgtty.patch b/xhci-Fix-Kernel-oops-in-xhci-dbgtty.patch
deleted file mode 100644
index 96fb5e110..000000000
--- a/xhci-Fix-Kernel-oops-in-xhci-dbgtty.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From patchwork Fri Apr 13 12:55:34 2018
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: xhci: Fix Kernel oops in xhci dbgtty
-From: Mathias Nyman <mathias.nyman@linux.intel.com>
-X-Patchwork-Id: 10340045
-Message-Id: <1523624134-29224-1-git-send-email-mathias.nyman@linux.intel.com>
-To: <gregkh@linuxfoundation.org>
-Cc: <linux-usb@vger.kernel.org>, Zhengjun Xing <zhengjun.xing@linux.intel.com>,
- "# 4 . 16" <stable@vger.kernel.org>,
- Mathias Nyman <mathias.nyman@linux.intel.com>
-Date: Fri, 13 Apr 2018 15:55:34 +0300
-
-From: Zhengjun Xing <zhengjun.xing@linux.intel.com>
-
-tty_unregister_driver may be called more than 1 time in some
-hotplug cases,it will cause the kernel oops. This patch checked
-dbc_tty_driver to make sure it is unregistered only 1 time.
-
-[ 175.741404] BUG: unable to handle kernel NULL pointer dereference at 0000000000000034
-[ 175.742309] IP: tty_unregister_driver+0x9/0x70
-[ 175.743148] PGD 0 P4D 0
-[ 175.743981] Oops: 0000 [#1] SMP PTI
-[ 175.753904] RIP: 0010:tty_unregister_driver+0x9/0x70
-[ 175.754817] RSP: 0018:ffffa8ff831d3bb0 EFLAGS: 00010246
-[ 175.755753] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
-[ 175.756685] RDX: ffff92089c616000 RSI: ffffe64fe1b26080 RDI: 0000000000000000
-[ 175.757608] RBP: ffff92086c988230 R08: 000000006c982701 R09: 00000001801e0016
-[ 175.758533] R10: ffffa8ff831d3b48 R11: ffff92086c982100 R12: ffff92086c98827c
-[ 175.759462] R13: ffff92086c988398 R14: 0000000000000060 R15: ffff92089c5e9b40
-[ 175.760401] FS: 0000000000000000(0000) GS:ffff9208a0100000(0000) knlGS:0000000000000000
-[ 175.761334] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
-[ 175.762270] CR2: 0000000000000034 CR3: 000000011800a003 CR4: 00000000003606e0
-[ 175.763225] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
-[ 175.764164] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
-[ 175.765091] Call Trace:
-[ 175.766014] xhci_dbc_tty_unregister_driver+0x11/0x30
-[ 175.766960] xhci_dbc_exit+0x2a/0x40
-[ 175.767889] xhci_stop+0x57/0x1c0
-[ 175.768824] usb_remove_hcd+0x100/0x250
-[ 175.769708] usb_hcd_pci_remove+0x68/0x130
-[ 175.770574] pci_device_remove+0x3b/0xc0
-[ 175.771435] device_release_driver_internal+0x157/0x230
-[ 175.772343] pci_stop_bus_device+0x74/0xa0
-[ 175.773205] pci_stop_bus_device+0x2b/0xa0
-[ 175.774061] pci_stop_bus_device+0x2b/0xa0
-[ 175.774907] pci_stop_bus_device+0x2b/0xa0
-[ 175.775741] pci_stop_bus_device+0x2b/0xa0
-[ 175.776618] pci_stop_bus_device+0x2b/0xa0
-[ 175.777452] pci_stop_bus_device+0x2b/0xa0
-[ 175.778273] pci_stop_bus_device+0x2b/0xa0
-[ 175.779092] pci_stop_bus_device+0x2b/0xa0
-[ 175.779908] pci_stop_bus_device+0x2b/0xa0
-[ 175.780750] pci_stop_bus_device+0x2b/0xa0
-[ 175.781543] pci_stop_and_remove_bus_device+0xe/0x20
-[ 175.782338] pciehp_unconfigure_device+0xb8/0x160
-[ 175.783128] pciehp_disable_slot+0x4f/0xd0
-[ 175.783920] pciehp_power_thread+0x82/0xa0
-[ 175.784766] process_one_work+0x147/0x3c0
-[ 175.785564] worker_thread+0x4a/0x440
-[ 175.786376] kthread+0xf8/0x130
-[ 175.787174] ? rescuer_thread+0x360/0x360
-[ 175.787964] ? kthread_associate_blkcg+0x90/0x90
-[ 175.788798] ret_from_fork+0x35/0x40
-
-Cc: <stable@vger.kernel.org> # 4.16
-Fixes: dfba2174dc42 ("usb: xhci: Add DbC support in xHCI driver")
-Signed-off-by: Zhengjun Xing <zhengjun.xing@linux.intel.com>
-Tested-by: Christian Kellner <christian@kellner.me>
-Reviewed-by: Christian Kellner <christian@kellner.me>
-Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
----
- drivers/usb/host/xhci-dbgtty.c | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/usb/host/xhci-dbgtty.c b/drivers/usb/host/xhci-dbgtty.c
-index 48779c4..eb494ec5 100644
---- a/drivers/usb/host/xhci-dbgtty.c
-+++ b/drivers/usb/host/xhci-dbgtty.c
-@@ -320,9 +320,11 @@ int xhci_dbc_tty_register_driver(struct xhci_hcd *xhci)
-
- void xhci_dbc_tty_unregister_driver(void)
- {
-- tty_unregister_driver(dbc_tty_driver);
-- put_tty_driver(dbc_tty_driver);
-- dbc_tty_driver = NULL;
-+ if (dbc_tty_driver) {
-+ tty_unregister_driver(dbc_tty_driver);
-+ put_tty_driver(dbc_tty_driver);
-+ dbc_tty_driver = NULL;
-+ }
- }
-
- static void dbc_rx_push(unsigned long _port)