summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Boyer <jwboyer@fedoraproject.org>2014-04-21 11:09:47 -0400
committerJosh Boyer <jwboyer@fedoraproject.org>2014-04-21 11:09:47 -0400
commit5a2828b4c2f95749a551e92bf5f33fb951237f2d (patch)
tree1ab059a50c3b4a2ffb562ffb37547f25964f586d
parentb1bf9ea7daf301bf5840b1899385e95c5f55d10b (diff)
downloadkernel-5a2828b4c2f95749a551e92bf5f33fb951237f2d.tar.gz
kernel-5a2828b4c2f95749a551e92bf5f33fb951237f2d.tar.xz
kernel-5a2828b4c2f95749a551e92bf5f33fb951237f2d.zip
Fix Brainboxes Express Cards (rhbz 1071914)
- Fix build issues with CONFIG_DEBUG_VM set (rhbz 1074710) - Fix perf build failures
-rw-r--r--USB-serial-ftdi_sio-add-id-for-Brainboxes-serial-car.patch112
-rw-r--r--kernel.spec29
-rw-r--r--mm-page_alloc.c-change-mm-debug-routines-back-to-EXP.patch61
3 files changed, 196 insertions, 6 deletions
diff --git a/USB-serial-ftdi_sio-add-id-for-Brainboxes-serial-car.patch b/USB-serial-ftdi_sio-add-id-for-Brainboxes-serial-car.patch
new file mode 100644
index 00000000..e144c696
--- /dev/null
+++ b/USB-serial-ftdi_sio-add-id-for-Brainboxes-serial-car.patch
@@ -0,0 +1,112 @@
+Bugzilla: 1071914
+Upstream-status: 3.15
+
+From efe26e16b1d93ac0085e69178cc18811629e8fc5 Mon Sep 17 00:00:00 2001
+From: Michele Baldessari <michele@acksyn.org>
+Date: Mon, 31 Mar 2014 10:51:00 +0200
+Subject: [PATCH] USB: serial: ftdi_sio: add id for Brainboxes serial cards
+
+Custom VID/PIDs for Brainboxes cards as reported in
+https://bugzilla.redhat.com/show_bug.cgi?id=1071914
+
+Signed-off-by: Michele Baldessari <michele@acksyn.org>
+Cc: stable <stable@vger.kernel.org>
+Signed-off-by: Johan Hovold <jhovold@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/serial/ftdi_sio.c | 33 +++++++++++++++++++++++++++++++++
+ drivers/usb/serial/ftdi_sio_ids.h | 37 +++++++++++++++++++++++++++++++++++++
+ 2 files changed, 70 insertions(+)
+
+diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
+index 44ab12986805..7c6e1dedeb06 100644
+--- a/drivers/usb/serial/ftdi_sio.c
++++ b/drivers/usb/serial/ftdi_sio.c
+@@ -909,6 +909,39 @@ static const struct usb_device_id id_table_combined[] = {
+ { USB_DEVICE(FTDI_VID, FTDI_Z3X_PID) },
+ /* Cressi Devices */
+ { USB_DEVICE(FTDI_VID, FTDI_CRESSI_PID) },
++ /* Brainboxes Devices */
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_VX_001_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_VX_012_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_VX_023_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_VX_034_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_101_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_160_1_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_160_2_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_160_3_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_160_4_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_160_5_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_160_6_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_160_7_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_160_8_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_257_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_279_1_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_279_2_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_279_3_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_279_4_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_313_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_324_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_346_1_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_346_2_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_357_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_606_1_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_606_2_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_606_3_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_701_1_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_701_2_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_842_1_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_842_2_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_842_3_PID) },
++ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_842_4_PID) },
+ { } /* Terminating entry */
+ };
+
+diff --git a/drivers/usb/serial/ftdi_sio_ids.h b/drivers/usb/serial/ftdi_sio_ids.h
+index e599fbfcde5f..993c93df6874 100644
+--- a/drivers/usb/serial/ftdi_sio_ids.h
++++ b/drivers/usb/serial/ftdi_sio_ids.h
+@@ -1326,3 +1326,40 @@
+ * Manufacturer: Cressi
+ */
+ #define FTDI_CRESSI_PID 0x87d0
++
++/*
++ * Brainboxes devices
++ */
++#define BRAINBOXES_VID 0x05d1
++#define BRAINBOXES_VX_001_PID 0x1001 /* VX-001 ExpressCard 1 Port RS232 */
++#define BRAINBOXES_VX_012_PID 0x1002 /* VX-012 ExpressCard 2 Port RS232 */
++#define BRAINBOXES_VX_023_PID 0x1003 /* VX-023 ExpressCard 1 Port RS422/485 */
++#define BRAINBOXES_VX_034_PID 0x1004 /* VX-034 ExpressCard 2 Port RS422/485 */
++#define BRAINBOXES_US_101_PID 0x1011 /* US-101 1xRS232 */
++#define BRAINBOXES_US_324_PID 0x1013 /* US-324 1xRS422/485 1Mbaud */
++#define BRAINBOXES_US_606_1_PID 0x2001 /* US-606 6 Port RS232 Serial Port 1 and 2 */
++#define BRAINBOXES_US_606_2_PID 0x2002 /* US-606 6 Port RS232 Serial Port 3 and 4 */
++#define BRAINBOXES_US_606_3_PID 0x2003 /* US-606 6 Port RS232 Serial Port 4 and 6 */
++#define BRAINBOXES_US_701_1_PID 0x2011 /* US-701 4xRS232 1Mbaud Port 1 and 2 */
++#define BRAINBOXES_US_701_2_PID 0x2012 /* US-701 4xRS422 1Mbaud Port 3 and 4 */
++#define BRAINBOXES_US_279_1_PID 0x2021 /* US-279 8xRS422 1Mbaud Port 1 and 2 */
++#define BRAINBOXES_US_279_2_PID 0x2022 /* US-279 8xRS422 1Mbaud Port 3 and 4 */
++#define BRAINBOXES_US_279_3_PID 0x2023 /* US-279 8xRS422 1Mbaud Port 5 and 6 */
++#define BRAINBOXES_US_279_4_PID 0x2024 /* US-279 8xRS422 1Mbaud Port 7 and 8 */
++#define BRAINBOXES_US_346_1_PID 0x3011 /* US-346 4xRS422/485 1Mbaud Port 1 and 2 */
++#define BRAINBOXES_US_346_2_PID 0x3012 /* US-346 4xRS422/485 1Mbaud Port 3 and 4 */
++#define BRAINBOXES_US_257_PID 0x5001 /* US-257 2xRS232 1Mbaud */
++#define BRAINBOXES_US_313_PID 0x6001 /* US-313 2xRS422/485 1Mbaud */
++#define BRAINBOXES_US_357_PID 0x7001 /* US_357 1xRS232/422/485 */
++#define BRAINBOXES_US_842_1_PID 0x8001 /* US-842 8xRS422/485 1Mbaud Port 1 and 2 */
++#define BRAINBOXES_US_842_2_PID 0x8002 /* US-842 8xRS422/485 1Mbaud Port 3 and 4 */
++#define BRAINBOXES_US_842_3_PID 0x8003 /* US-842 8xRS422/485 1Mbaud Port 5 and 6 */
++#define BRAINBOXES_US_842_4_PID 0x8004 /* US-842 8xRS422/485 1Mbaud Port 7 and 8 */
++#define BRAINBOXES_US_160_1_PID 0x9001 /* US-160 16xRS232 1Mbaud Port 1 and 2 */
++#define BRAINBOXES_US_160_2_PID 0x9002 /* US-160 16xRS232 1Mbaud Port 3 and 4 */
++#define BRAINBOXES_US_160_3_PID 0x9003 /* US-160 16xRS232 1Mbaud Port 5 and 6 */
++#define BRAINBOXES_US_160_4_PID 0x9004 /* US-160 16xRS232 1Mbaud Port 7 and 8 */
++#define BRAINBOXES_US_160_5_PID 0x9005 /* US-160 16xRS232 1Mbaud Port 9 and 10 */
++#define BRAINBOXES_US_160_6_PID 0x9006 /* US-160 16xRS232 1Mbaud Port 11 and 12 */
++#define BRAINBOXES_US_160_7_PID 0x9007 /* US-160 16xRS232 1Mbaud Port 13 and 14 */
++#define BRAINBOXES_US_160_8_PID 0x9008 /* US-160 16xRS232 1Mbaud Port 15 and 16 */
+--
+1.9.0
+
diff --git a/kernel.spec b/kernel.spec
index 5397bf38..fabf1695 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -715,9 +715,6 @@ Patch25044: iwlwifi-dvm-take-mutex-when-sending-SYNC-BT-config-command.patch
#CVE-2014-0155 rhbz 1081589 1085016
Patch25036: KVM-ioapic-fix-assignment-of-ioapic-rtc_status-pending_eoi.patch
-#rhbz 1048314
-Patch25062: 0001-HID-rmi-introduce-RMI-driver-for-Synaptics-touchpads.patch
-
#rhbz 1074235
Patch25055: lib-percpu_counter.c-fix-bad-percpu-counter-state-du.patch
@@ -727,6 +724,15 @@ Patch25059: net-ipv4-current-group_info-should-be-put-after-using.patch
#rhbz 1085582 1085697
Patch25060: 0001-synaptics-Add-min-max-quirk-for-ThinkPad-T431s-L440-.patch
+#rhbz 1074710
+Patch25061: mm-page_alloc.c-change-mm-debug-routines-back-to-EXP.patch
+
+#rhbz 1048314
+Patch25062: 0001-HID-rmi-introduce-RMI-driver-for-Synaptics-touchpads.patch
+
+#rhbz 1071914
+Patch25063: USB-serial-ftdi_sio-add-id-for-Brainboxes-serial-car.patch
+
# END OF PATCH DEFINITIONS
%endif
@@ -1409,6 +1415,12 @@ ApplyPatch net-ipv4-current-group_info-should-be-put-after-using.patch
#rhbz 1085582 1085697
ApplyPatch 0001-synaptics-Add-min-max-quirk-for-ThinkPad-T431s-L440-.patch
+#rhbz 1074710
+ApplyPatch mm-page_alloc.c-change-mm-debug-routines-back-to-EXP.patch
+
+#rhbz 1071914
+ApplyPatch USB-serial-ftdi_sio-add-id-for-Brainboxes-serial-car.patch
+
# END OF PATCH APPLICATIONS
%endif
@@ -1909,7 +1921,7 @@ find $RPM_BUILD_ROOT/usr/include \
%if %{with_perf}
# perf tool binary and supporting scripts/binaries
-%{perf_make} DESTDIR=$RPM_BUILD_ROOT install
+%{perf_make} DESTDIR=$RPM_BUILD_ROOT install-bin
# remove the 'trace' symlink.
rm -f %{buildroot}%{_bindir}/trace
@@ -1917,7 +1929,7 @@ rm -f %{buildroot}%{_bindir}/trace
%{perf_make} DESTDIR=$RPM_BUILD_ROOT install-python_ext
# perf man pages (note: implicit rpm magic compresses them later)
-%{perf_make} DESTDIR=$RPM_BUILD_ROOT install-man || %{doc_build_fail}
+%{perf_make} DESTDIR=$RPM_BUILD_ROOT try-install-man || %{doc_build_fail}
%endif
%if %{with_tools}
@@ -2220,7 +2232,12 @@ fi
# ||----w |
# || ||
%changelog
-* Mon Apr 21 2014 Justin M. Forbes <jforbes@fedoraproject.org> - 3.14.1-200
+* Mon Apr 21 2014 Josh Boyer <jwboyer@fedoraproject.org> - 3.14.1-200
+- Fix Brainboxes Express Cards (rhbz 1071914)
+- Fix build issues with CONFIG_DEBUG_VM set (rhbz 1074710)
+- Fix perf build failures
+
+* Mon Apr 21 2014 Justin M. Forbes <jforbes@fedoraproject.org>
- Linux v3.14.1
* Thu Apr 17 2014 Hans de Goede <hdegoede@redhat.com>
diff --git a/mm-page_alloc.c-change-mm-debug-routines-back-to-EXP.patch b/mm-page_alloc.c-change-mm-debug-routines-back-to-EXP.patch
new file mode 100644
index 00000000..c0144bad
--- /dev/null
+++ b/mm-page_alloc.c-change-mm-debug-routines-back-to-EXP.patch
@@ -0,0 +1,61 @@
+Bugzilla: 1074710
+Upstream-status: 3.15
+
+From ed12d845b5f528cc0846023862b9c448a36122ec Mon Sep 17 00:00:00 2001
+From: John Hubbard <jhubbard@nvidia.com>
+Date: Mon, 7 Apr 2014 15:37:59 -0700
+Subject: [PATCH] mm/page_alloc.c: change mm debug routines back to
+ EXPORT_SYMBOL
+
+A new dump_page() routine was recently added, and marked
+EXPORT_SYMBOL_GPL. dump_page() was also added to the VM_BUG_ON_PAGE()
+macro, and so the end result is that non-GPL code can no longer call
+get_page() and a few other routines.
+
+This only happens if the kernel was compiled with CONFIG_DEBUG_VM.
+
+Change dump_page() to be EXPORT_SYMBOL.
+
+Longer explanation:
+
+Prior to commit 309381feaee5 ("mm: dump page when hitting a VM_BUG_ON
+using VM_BUG_ON_PAGE") , it was possible to build MIT-licensed (non-GPL)
+drivers on Fedora. Fedora is semi-unique, in that it sets
+CONFIG_VM_DEBUG.
+
+Because Fedora sets CONFIG_VM_DEBUG, they end up pulling in dump_page(),
+via VM_BUG_ON_PAGE, via get_page(). As one of the authors of NVIDIA's
+new, open source, "UVM-Lite" kernel module, I originally choose to use
+the kernel's get_page() routine from within nvidia_uvm_page_cache.c,
+because get_page() has always seemed to be very clearly intended for use
+by non-GPL, driver code.
+
+So I'm hoping that making get_page() widely accessible again will not be
+too controversial. We did check with Fedora first, and they responded
+(https://bugzilla.redhat.com/show_bug.cgi?id=1074710#c3) that we should
+try to get upstream changed, before asking Fedora to change. Their
+reasoning seems beneficial to Linux: leaving CONFIG_DEBUG_VM set allows
+Fedora to help catch mm bugs.
+
+Signed-off-by: John Hubbard <jhubbard@nvidia.com>
+Cc: Sasha Levin <sasha.levin@oracle.com>
+Cc: Josh Boyer <jwboyer@redhat.com>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+---
+ mm/page_alloc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mm/page_alloc.c b/mm/page_alloc.c
+index 48427a7cfb45..5dba2933c9c0 100644
+--- a/mm/page_alloc.c
++++ b/mm/page_alloc.c
+@@ -6568,4 +6568,4 @@ void dump_page(struct page *page, const char *reason)
+ {
+ dump_page_badflags(page, reason, 0);
+ }
+-EXPORT_SYMBOL_GPL(dump_page);
++EXPORT_SYMBOL(dump_page);
+--
+1.9.0
+