From db9184b8020e7b65cb15cdf66d4abe91c029d773 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Jan 19 2015 14:36:16 +0000 Subject: Linux v3.19-rc5 - Disable debugging options. --- diff --git a/Kbuild-Add-an-option-to-enable-GCC-VTA.patch b/Kbuild-Add-an-option-to-enable-GCC-VTA.patch index 2d880a8..a103187 100644 --- a/Kbuild-Add-an-option-to-enable-GCC-VTA.patch +++ b/Kbuild-Add-an-option-to-enable-GCC-VTA.patch @@ -43,7 +43,7 @@ Signed-off-by: Josh Stone 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index e41a3356abee..2b21fa6e6a27 100644 +index fb93350cf645..8431815e1d46 100644 --- a/Makefile +++ b/Makefile @@ -706,7 +706,11 @@ KBUILD_CFLAGS += -fomit-frame-pointer diff --git a/config-generic b/config-generic index 1437c70..9bb4ba1 100644 --- a/config-generic +++ b/config-generic @@ -1711,13 +1711,13 @@ CONFIG_B43_PCMCIA=y CONFIG_B43_SDIO=y CONFIG_B43_BCMA=y CONFIG_B43_BCMA_PIO=y -CONFIG_B43_DEBUG=y +# CONFIG_B43_DEBUG is not set CONFIG_B43_PHY_LP=y CONFIG_B43_PHY_N=y CONFIG_B43_PHY_HT=y CONFIG_B43_PHY_G=y CONFIG_B43LEGACY=m -CONFIG_B43LEGACY_DEBUG=y +# CONFIG_B43LEGACY_DEBUG is not set CONFIG_B43LEGACY_DMA=y CONFIG_B43LEGACY_PIO=y CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y @@ -4743,7 +4743,7 @@ CONFIG_PM_DEBUG=y # CONFIG_DPM_WATCHDOG is not set # revisit this in debug CONFIG_PM_TRACE=y CONFIG_PM_TRACE_RTC=y -CONFIG_PM_TEST_SUSPEND=y +# CONFIG_PM_TEST_SUSPEND is not set CONFIG_PM_RUNTIME=y # CONFIG_PM_OPP is not set # CONFIG_PM_AUTOSLEEP is not set diff --git a/config-nodebug b/config-nodebug index 6c09842..01008d6 100644 --- a/config-nodebug +++ b/config-nodebug @@ -2,100 +2,100 @@ CONFIG_SND_VERBOSE_PRINTK=y CONFIG_SND_DEBUG=y CONFIG_SND_PCM_XRUN_DEBUG=y -CONFIG_DEBUG_ATOMIC_SLEEP=y - -CONFIG_DEBUG_MUTEXES=y -CONFIG_DEBUG_RT_MUTEXES=y -CONFIG_DEBUG_LOCK_ALLOC=y -CONFIG_LOCK_TORTURE_TEST=m -CONFIG_PROVE_LOCKING=y -CONFIG_DEBUG_SPINLOCK=y -CONFIG_PROVE_RCU=y +# CONFIG_DEBUG_ATOMIC_SLEEP is not set + +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_LOCK_TORTURE_TEST is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_PROVE_RCU is not set # CONFIG_PROVE_RCU_REPEATEDLY is not set -CONFIG_DEBUG_PER_CPU_MAPS=y +# CONFIG_DEBUG_PER_CPU_MAPS is not set CONFIG_CPUMASK_OFFSTACK=y -CONFIG_CPU_NOTIFIER_ERROR_INJECT=m +# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set -CONFIG_FAULT_INJECTION=y -CONFIG_FAILSLAB=y -CONFIG_FAIL_PAGE_ALLOC=y -CONFIG_FAIL_MAKE_REQUEST=y -CONFIG_FAULT_INJECTION_DEBUG_FS=y -CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y -CONFIG_FAIL_IO_TIMEOUT=y -CONFIG_FAIL_MMC_REQUEST=y +# CONFIG_FAULT_INJECTION is not set +# CONFIG_FAILSLAB is not set +# CONFIG_FAIL_PAGE_ALLOC is not set +# CONFIG_FAIL_MAKE_REQUEST is not set +# CONFIG_FAULT_INJECTION_DEBUG_FS is not set +# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set +# CONFIG_FAIL_IO_TIMEOUT is not set +# CONFIG_FAIL_MMC_REQUEST is not set -CONFIG_LOCK_STAT=y +# CONFIG_LOCK_STAT is not set -CONFIG_DEBUG_STACK_USAGE=y +# CONFIG_DEBUG_STACK_USAGE is not set -CONFIG_ACPI_DEBUG=y +# CONFIG_ACPI_DEBUG is not set -CONFIG_DEBUG_SG=y -CONFIG_DEBUG_PI_LIST=y +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_PI_LIST is not set # CONFIG_PAGE_EXTENSION is not set # CONFIG_PAGE_OWNER is not set # CONFIG_DEBUG_PAGEALLOC is not set -CONFIG_DEBUG_OBJECTS=y +# CONFIG_DEBUG_OBJECTS is not set # CONFIG_DEBUG_OBJECTS_SELFTEST is not set -CONFIG_DEBUG_OBJECTS_FREE=y -CONFIG_DEBUG_OBJECTS_TIMERS=y -CONFIG_DEBUG_OBJECTS_RCU_HEAD=y +# CONFIG_DEBUG_OBJECTS_FREE is not set +# CONFIG_DEBUG_OBJECTS_TIMERS is not set +# CONFIG_DEBUG_OBJECTS_RCU_HEAD is not set CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 CONFIG_X86_PTDUMP=y -CONFIG_ARM64_PTDUMP=y -CONFIG_EFI_PGT_DUMP=y +# CONFIG_ARM64_PTDUMP is not set +# CONFIG_EFI_PGT_DUMP is not set -CONFIG_CAN_DEBUG_DEVICES=y +# CONFIG_CAN_DEBUG_DEVICES is not set -CONFIG_MODULE_FORCE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set -CONFIG_DEBUG_NOTIFIERS=y +# CONFIG_DEBUG_NOTIFIERS is not set -CONFIG_DMA_API_DEBUG=y +# CONFIG_DMA_API_DEBUG is not set -CONFIG_MMIOTRACE=y +# CONFIG_MMIOTRACE is not set -CONFIG_DEBUG_CREDENTIALS=y +# CONFIG_DEBUG_CREDENTIALS is not set # off in both production debug and nodebug builds, # on in rawhide nodebug builds -CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set -CONFIG_EXT4_DEBUG=y +# CONFIG_EXT4_DEBUG is not set # CONFIG_XFS_WARN is not set -CONFIG_DEBUG_PERF_USE_VMALLOC=y +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set -CONFIG_JBD2_DEBUG=y +# CONFIG_JBD2_DEBUG is not set -CONFIG_NFSD_FAULT_INJECTION=y +# CONFIG_NFSD_FAULT_INJECTION is not set -CONFIG_DEBUG_BLK_CGROUP=y +# CONFIG_DEBUG_BLK_CGROUP is not set -CONFIG_DRBD_FAULT_INJECTION=y +# CONFIG_DRBD_FAULT_INJECTION is not set -CONFIG_ATH_DEBUG=y -CONFIG_CARL9170_DEBUGFS=y -CONFIG_IWLWIFI_DEVICE_TRACING=y +# CONFIG_ATH_DEBUG is not set +# CONFIG_CARL9170_DEBUGFS is not set +# CONFIG_IWLWIFI_DEVICE_TRACING is not set # CONFIG_RTLWIFI_DEBUG is not set -CONFIG_DEBUG_OBJECTS_WORK=y +# CONFIG_DEBUG_OBJECTS_WORK is not set -CONFIG_DMADEVICES_DEBUG=y -CONFIG_DMADEVICES_VDEBUG=y +# CONFIG_DMADEVICES_DEBUG is not set +# CONFIG_DMADEVICES_VDEBUG is not set CONFIG_PM_ADVANCED_DEBUG=y -CONFIG_CEPH_LIB_PRETTYDEBUG=y -CONFIG_QUOTA_DEBUG=y +# CONFIG_CEPH_LIB_PRETTYDEBUG is not set +# CONFIG_QUOTA_DEBUG is not set CONFIG_KGDB_KDB=y @@ -103,18 +103,18 @@ CONFIG_KDB_DEFAULT_ENABLE=0x0 CONFIG_KDB_KEYBOARD=y CONFIG_KDB_CONTINUE_CATASTROPHIC=0 -CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y +# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set # CONFIG_PERCPU_TEST is not set -CONFIG_TEST_LIST_SORT=y +# CONFIG_TEST_LIST_SORT is not set # CONFIG_TEST_STRING_HELPERS is not set -CONFIG_DETECT_HUNG_TASK=y +# CONFIG_DETECT_HUNG_TASK is not set CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set -CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y +# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set -CONFIG_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=1024 # CONFIG_DEBUG_KMEMLEAK_TEST is not set CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y @@ -125,7 +125,7 @@ CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y # CONFIG_SPI_DEBUG is not set -CONFIG_X86_DEBUG_STATIC_CPU_HAS=y +# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set # CONFIG_SCHEDSTATS is not set # CONFIG_LATENCYTOP is not set diff --git a/config-x86-generic b/config-x86-generic index f6682a9..6acaaf3 100644 --- a/config-x86-generic +++ b/config-x86-generic @@ -346,7 +346,7 @@ CONFIG_SP5100_TCO=m # CONFIG_MEMTEST is not set # CONFIG_DEBUG_TLBFLUSH is not set -CONFIG_MAXSMP=y +# CONFIG_MAXSMP is not set CONFIG_HP_ILO=m diff --git a/kernel.spec b/kernel.spec index 110602c..2181e82 100644 --- a/kernel.spec +++ b/kernel.spec @@ -67,9 +67,9 @@ Summary: The Linux kernel # The next upstream release sublevel (base_sublevel+1) %define upstream_sublevel %(echo $((%{base_sublevel} + 1))) # The rc snapshot level -%define rcrev 4 +%define rcrev 5 # The git snapshot level -%define gitrev 4 +%define gitrev 0 # Set rpm version accordingly %define rpmversion 3.%{upstream_sublevel}.0 %endif @@ -124,7 +124,7 @@ Summary: The Linux kernel # Set debugbuildsenabled to 1 for production (build separate debug kernels) # and 0 for rawhide (all kernels are debug kernels). # See also 'make debug' and 'make release'. -%define debugbuildsenabled 0 +%define debugbuildsenabled 1 # Want to build a vanilla kernel build without any non-upstream patches? %define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0} @@ -606,14 +606,7 @@ Patch26058: asus-nb-wmi-Add-wapf4-quirk-for-the-X550VB.patch #rhbz 1111138 Patch26059: i8042-Add-notimeout-quirk-for-Fujitsu-Lifebook-A544-.patch -#rhbz 1164945 -Patch26092: xhci-Add-broken-streams-quirk-for-Fresco-Logic-FL100.patch -Patch26093: uas-Add-US_FL_NO_ATA_1X-for-Seagate-devices-with-usb.patch -Patch26094: uas-Add-US_FL_NO_REPORT_OPCODES-for-JMicron-JMS566-w.patch - #rhbz 1124119 -Patch26126: uas-Do-not-blacklist-ASM1153-disk-enclosures.patch -Patch26127: uas-Add-US_FL_NO_ATA_1X-for-2-more-Seagate-disk-encl.patch Patch26128: uas-Add-no-report-opcodes-quirk-for-Simpletech-devic.patch #rhbz 1115713 @@ -1336,14 +1329,7 @@ ApplyPatch asus-nb-wmi-Add-wapf4-quirk-for-the-X550VB.patch #rhbz 1111138 ApplyPatch i8042-Add-notimeout-quirk-for-Fujitsu-Lifebook-A544-.patch -#rhbz 1164945 -ApplyPatch xhci-Add-broken-streams-quirk-for-Fresco-Logic-FL100.patch -ApplyPatch uas-Add-US_FL_NO_ATA_1X-for-Seagate-devices-with-usb.patch -ApplyPatch uas-Add-US_FL_NO_REPORT_OPCODES-for-JMicron-JMS566-w.patch - #rhbz 1124119 -ApplyPatch uas-Do-not-blacklist-ASM1153-disk-enclosures.patch -ApplyPatch uas-Add-US_FL_NO_ATA_1X-for-2-more-Seagate-disk-encl.patch ApplyPatch uas-Add-no-report-opcodes-quirk-for-Simpletech-devic.patch #rhbz 1115713 @@ -2217,6 +2203,10 @@ fi # ||----w | # || || %changelog +* Mon Jan 19 2015 Josh Boyer - 3.19.0-0.rc5.git0.1 +- Linux v3.19-rc5 +- Disable debugging options. + * Sat Jan 17 2015 Peter Robinson - Move Rockchip to ARMv7 generic to support rk32xx on LPAE - Enable Device Tree Overlays for dynamic DTB diff --git a/sources b/sources index 0845bab..7015194 100644 --- a/sources +++ b/sources @@ -1,4 +1,3 @@ 9e854df51ca3fef8bfe566dbd7b89241 linux-3.18.tar.xz 813ccb96f0b379d656e57442c2587ca3 perf-man-3.18.tar.gz -7aa3aed1c5a65bb633e8c3e437ec0dfb patch-3.19-rc4.xz -f20483a225fbefc1f81423127f37f844 patch-3.19-rc4-git4.xz +5d644fab7b6bf09ac75d5695128fc547 patch-3.19-rc5.xz diff --git a/uas-Add-US_FL_NO_ATA_1X-for-2-more-Seagate-disk-encl.patch b/uas-Add-US_FL_NO_ATA_1X-for-2-more-Seagate-disk-encl.patch deleted file mode 100644 index 60e5b26..0000000 --- a/uas-Add-US_FL_NO_ATA_1X-for-2-more-Seagate-disk-encl.patch +++ /dev/null @@ -1,48 +0,0 @@ -From: Hans de Goede -Date: Thu, 8 Jan 2015 14:54:03 +0100 -Subject: [PATCH] uas: Add US_FL_NO_ATA_1X for 2 more Seagate disk enclosures - -Just like all previous UAS capable Seagate disk enclosures, these need the -US_FL_NO_ATA_1X to not crash when udev probes them. - -Cc: stable@vger.kernel.org # 3.16 -Signed-off-by: Hans de Goede ---- - drivers/usb/storage/unusual_uas.h | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h -index f8492c1fd0e8..9ec4561f6c2c 100644 ---- a/drivers/usb/storage/unusual_uas.h -+++ b/drivers/usb/storage/unusual_uas.h -@@ -75,6 +75,13 @@ UNUSUAL_DEV(0x0bc2, 0xa013, 0x0000, 0x9999, - USB_SC_DEVICE, USB_PR_DEVICE, NULL, - US_FL_NO_ATA_1X), - -+/* Reported-by: Hans de Goede */ -+UNUSUAL_DEV(0x0bc2, 0xa0a4, 0x0000, 0x9999, -+ "Seagate", -+ "Backup Plus Desk", -+ USB_SC_DEVICE, USB_PR_DEVICE, NULL, -+ US_FL_NO_ATA_1X), -+ - /* https://bbs.archlinux.org/viewtopic.php?id=183190 */ - UNUSUAL_DEV(0x0bc2, 0xab20, 0x0000, 0x9999, - "Seagate", -@@ -89,6 +96,13 @@ UNUSUAL_DEV(0x0bc2, 0xab21, 0x0000, 0x9999, - USB_SC_DEVICE, USB_PR_DEVICE, NULL, - US_FL_NO_ATA_1X), - -+/* Reported-by: G. Richard Bellamy */ -+UNUSUAL_DEV(0x0bc2, 0xab2a, 0x0000, 0x9999, -+ "Seagate", -+ "BUP Fast HDD", -+ USB_SC_DEVICE, USB_PR_DEVICE, NULL, -+ US_FL_NO_ATA_1X), -+ - /* Reported-by: Claudio Bizzarri */ - UNUSUAL_DEV(0x152d, 0x0567, 0x0000, 0x9999, - "JMicron", --- -2.1.0 - diff --git a/uas-Add-US_FL_NO_ATA_1X-for-Seagate-devices-with-usb.patch b/uas-Add-US_FL_NO_ATA_1X-for-Seagate-devices-with-usb.patch deleted file mode 100644 index 66e2823..0000000 --- a/uas-Add-US_FL_NO_ATA_1X-for-Seagate-devices-with-usb.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: Hans de Goede -Date: Fri, 5 Dec 2014 11:06:36 +0100 -Subject: [PATCH] uas: Add US_FL_NO_ATA_1X for Seagate devices with usb-id - 0bc2:a013 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This is yet another Seagate device which needs the US_FL_NO_ATA_1X quirk - -Reported-by: Marcin Zajączkowski -Cc: stable@vger.kernel.org # 3.16 -Signed-off-by: Hans de Goede ---- - drivers/usb/storage/unusual_uas.h | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h -index 18a283d6de1c..2918376a1979 100644 ---- a/drivers/usb/storage/unusual_uas.h -+++ b/drivers/usb/storage/unusual_uas.h -@@ -68,6 +68,13 @@ UNUSUAL_DEV(0x0bc2, 0xa003, 0x0000, 0x9999, - USB_SC_DEVICE, USB_PR_DEVICE, NULL, - US_FL_NO_ATA_1X), - -+/* Reported-by: Marcin Zajączkowski */ -+UNUSUAL_DEV(0x0bc2, 0xa013, 0x0000, 0x9999, -+ "Seagate", -+ "Backup Plus", -+ USB_SC_DEVICE, USB_PR_DEVICE, NULL, -+ US_FL_NO_ATA_1X), -+ - /* https://bbs.archlinux.org/viewtopic.php?id=183190 */ - UNUSUAL_DEV(0x0bc2, 0xab20, 0x0000, 0x9999, - "Seagate", --- -2.1.0 - diff --git a/uas-Add-US_FL_NO_REPORT_OPCODES-for-JMicron-JMS566-w.patch b/uas-Add-US_FL_NO_REPORT_OPCODES-for-JMicron-JMS566-w.patch deleted file mode 100644 index e95a5c7..0000000 --- a/uas-Add-US_FL_NO_REPORT_OPCODES-for-JMicron-JMS566-w.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: Hans de Goede -Date: Mon, 8 Dec 2014 09:46:36 +0100 -Subject: [PATCH] uas: Add US_FL_NO_REPORT_OPCODES for JMicron JMS566 with - usb-id 0bc2:a013 - -Like the JMicron JMS567 enclosures with the JMS566 choke on report-opcodes, -so avoid it. - -Tested-and-reported-by: Takeo Nakayama -Cc: stable@vger.kernel.org # 3.16 -Signed-off-by: Hans de Goede ---- - drivers/usb/storage/unusual_uas.h | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h -index 2918376a1979..2f0a3d35269a 100644 ---- a/drivers/usb/storage/unusual_uas.h -+++ b/drivers/usb/storage/unusual_uas.h -@@ -111,6 +111,13 @@ UNUSUAL_DEV(0x2109, 0x0711, 0x0000, 0x9999, - USB_SC_DEVICE, USB_PR_DEVICE, NULL, - US_FL_NO_ATA_1X), - -+/* Reported-by: Takeo Nakayama */ -+UNUSUAL_DEV(0x357d, 0x7788, 0x0000, 0x9999, -+ "JMicron", -+ "JMS566", -+ USB_SC_DEVICE, USB_PR_DEVICE, NULL, -+ US_FL_NO_REPORT_OPCODES), -+ - /* Reported-by: Hans de Goede */ - UNUSUAL_DEV(0x4971, 0x1012, 0x0000, 0x9999, - "Hitachi", --- -2.1.0 - diff --git a/uas-Add-no-report-opcodes-quirk-for-Simpletech-devic.patch b/uas-Add-no-report-opcodes-quirk-for-Simpletech-devic.patch index 837e472..4141ab6 100644 --- a/uas-Add-no-report-opcodes-quirk-for-Simpletech-devic.patch +++ b/uas-Add-no-report-opcodes-quirk-for-Simpletech-devic.patch @@ -14,10 +14,10 @@ Signed-off-by: Hans de Goede 1 file changed, 7 insertions(+) diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h -index 9ec4561f6c2c..da3d98c72db1 100644 +index 6df4357d9ee3..dbc00e56c7f5 100644 --- a/drivers/usb/storage/unusual_uas.h +++ b/drivers/usb/storage/unusual_uas.h -@@ -130,3 +130,10 @@ UNUSUAL_DEV(0x4971, 0x1012, 0x0000, 0x9999, +@@ -140,3 +140,10 @@ UNUSUAL_DEV(0x4971, 0x1012, 0x0000, 0x9999, "External HDD", USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_IGNORE_UAS), diff --git a/uas-Do-not-blacklist-ASM1153-disk-enclosures.patch b/uas-Do-not-blacklist-ASM1153-disk-enclosures.patch deleted file mode 100644 index 5b67025..0000000 --- a/uas-Do-not-blacklist-ASM1153-disk-enclosures.patch +++ /dev/null @@ -1,94 +0,0 @@ -From: Hans de Goede -Date: Thu, 8 Jan 2015 14:42:01 +0100 -Subject: [PATCH] uas: Do not blacklist ASM1153 disk enclosures - -Our detection logic to avoid doing UAS on ASM1051 bridge chips causes problems -with newer ASM1153 disk enclosures in 2 ways: - -1) Some ASM1153 disk enclosures re-use the ASM1051 device-id of 5106, which - we assume is always an ASM1051, so remove the quirk for 5106, and instead - use the same detection logic as we already use for device-id 55aa, which is - used for all of ASM1051, ASM1053 and ASM1153 devices . - -2) Our detection logic to differentiate between ASM1051 and ASM1053 sees - ASM1153 devices as ASM1051 because they have 32 streams like ASM1051 devs. - Luckily the ASM1153 descriptors are not 100% identical, unlike the previous - models the ASM1153 has bMaxPower == 0, so use that to differentiate it. - -Signed-off-by: Hans de Goede ---- - drivers/usb/storage/uas-detect.h | 33 ++++++++++++++++++++++++++++----- - drivers/usb/storage/unusual_uas.h | 8 -------- - 2 files changed, 28 insertions(+), 13 deletions(-) - -diff --git a/drivers/usb/storage/uas-detect.h b/drivers/usb/storage/uas-detect.h -index 8a6f371ed6e7..9893d696fc97 100644 ---- a/drivers/usb/storage/uas-detect.h -+++ b/drivers/usb/storage/uas-detect.h -@@ -69,16 +69,39 @@ static int uas_use_uas_driver(struct usb_interface *intf, - return 0; - - /* -- * ASM1051 and older ASM1053 devices have the same usb-id, and UAS is -- * broken on the ASM1051, use the number of streams to differentiate. -- * New ASM1053-s also support 32 streams, but have a different prod-id. -+ * ASMedia has a number of usb3 to sata bridge chips, at the time of -+ * this writing the following versions exist: -+ * ASM1051 - no uas support version -+ * ASM1051 - with broken (*) uas support -+ * ASM1053 - with working uas support -+ * ASM1153 - with working uas support -+ * -+ * Devices with these chips re-use a number of device-ids over the -+ * entire line, so the device-id is useless to determine if we're -+ * dealing with an ASM1051 (which we want to avoid). -+ * -+ * The ASM1153 can be identified by config.MaxPower == 0, -+ * where as the ASM105x models have config.MaxPower == 36. -+ * -+ * Differentiating between the ASM1053 and ASM1051 is trickier, when -+ * connected over USB-3 we can look at the number of streams supported, -+ * ASM1051 supports 32 streams, where as early ASM1053 versions support -+ * 16 streams, newer ASM1053-s also support 32 streams, but have a -+ * different prod-id. -+ * -+ * (*) ASM1051 chips do work with UAS with some disks (with the -+ * US_FL_NO_REPORT_OPCODES quirk), but are broken with other disks - */ - if (le16_to_cpu(udev->descriptor.idVendor) == 0x174c && -- le16_to_cpu(udev->descriptor.idProduct) == 0x55aa) { -- if (udev->speed < USB_SPEED_SUPER) { -+ (le16_to_cpu(udev->descriptor.idProduct) == 0x5106 || -+ le16_to_cpu(udev->descriptor.idProduct) == 0x55aa)) { -+ if (udev->actconfig->desc.bMaxPower == 0) { -+ /* ASM1153, do nothing */ -+ } else if (udev->speed < USB_SPEED_SUPER) { - /* No streams info, assume ASM1051 */ - flags |= US_FL_IGNORE_UAS; - } else if (usb_ss_max_streams(&eps[1]->ss_ep_comp) == 32) { -+ /* Possibly an ASM1051, disable uas */ - flags |= US_FL_IGNORE_UAS; - } - } -diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h -index 2f0a3d35269a..f8492c1fd0e8 100644 ---- a/drivers/usb/storage/unusual_uas.h -+++ b/drivers/usb/storage/unusual_uas.h -@@ -96,14 +96,6 @@ UNUSUAL_DEV(0x152d, 0x0567, 0x0000, 0x9999, - USB_SC_DEVICE, USB_PR_DEVICE, NULL, - US_FL_NO_REPORT_OPCODES), - --/* Most ASM1051 based devices have issues with uas, blacklist them all */ --/* Reported-by: Hans de Goede */ --UNUSUAL_DEV(0x174c, 0x5106, 0x0000, 0x9999, -- "ASMedia", -- "ASM1051", -- USB_SC_DEVICE, USB_PR_DEVICE, NULL, -- US_FL_IGNORE_UAS), -- - /* Reported-by: Hans de Goede */ - UNUSUAL_DEV(0x2109, 0x0711, 0x0000, 0x9999, - "VIA", --- -2.1.0 - diff --git a/xhci-Add-broken-streams-quirk-for-Fresco-Logic-FL100.patch b/xhci-Add-broken-streams-quirk-for-Fresco-Logic-FL100.patch deleted file mode 100644 index 0f79ee0..0000000 --- a/xhci-Add-broken-streams-quirk-for-Fresco-Logic-FL100.patch +++ /dev/null @@ -1,44 +0,0 @@ -From: Hans de Goede -Date: Fri, 5 Dec 2014 11:01:00 +0100 -Subject: [PATCH] xhci: Add broken-streams quirk for Fresco Logic FL1000G xhci - controllers -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Streams do not work reliabe on Fresco Logic FL1000G xhci controllers, -trying to use them results in errors like this: - -21:37:33 kernel: xhci_hcd 0000:04:00.0: ERROR Transfer event for disabled endpoint or incorrect stream ring -21:37:33 kernel: xhci_hcd 0000:04:00.0: @00000000368b3570 9067b000 00000000 05000000 01078001 -21:37:33 kernel: xhci_hcd 0000:04:00.0: ERROR Transfer event for disabled endpoint or incorrect stream ring -21:37:33 kernel: xhci_hcd 0000:04:00.0: @00000000368b3580 9067b400 00000000 05000000 01038001 - -As always I've ordered a pci-e addon card with a Fresco Logic controller for -myself to see if I can come up with a better fix then the big hammer, in -the mean time this will make uas devices work again (in usb-storage mode) -for FL1000G users. - -Reported-by: Marcin Zajączkowski -Cc: stable@vger.kernel.org # 3.15 -Signed-off-by: Hans de Goede ---- - drivers/usb/host/xhci-pci.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c -index 142b601f9563..7f76c8a12f89 100644 ---- a/drivers/usb/host/xhci-pci.c -+++ b/drivers/usb/host/xhci-pci.c -@@ -82,6 +82,8 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) - "must be suspended extra slowly", - pdev->revision); - } -+ if (pdev->device == PCI_DEVICE_ID_FRESCO_LOGIC_PDK) -+ xhci->quirks |= XHCI_BROKEN_STREAMS; - /* Fresco Logic confirms: all revisions of this chip do not - * support MSI, even though some of them claim to in their PCI - * capabilities. --- -2.1.0 -