X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=kernel-small_fixes.patch;h=f0584fb5d2bf489cc24ac7eaf952c345766e3c27;hb=42b5c33a9137a17d1bf97dd43ad1ad45de94d3e9;hp=7dd1fd963804073017412efc36400d0aa959e13a;hpb=cc283cfa5b364f350f49d04195b91e7e458d9e9e;p=packages%2Fkernel.git diff --git a/kernel-small_fixes.patch b/kernel-small_fixes.patch index 7dd1fd96..f0584fb5 100644 --- a/kernel-small_fixes.patch +++ b/kernel-small_fixes.patch @@ -1,186 +1,117 @@ ---- linux-2.6.15.6/drivers/input/joystick/iforce/iforce-serio.c 2006-03-05 19:07:54.000000000 +0000 -+++ linux-2.6.15.6.iforce/drivers/input/joystick/iforce/iforce-serio.c 2006-04-29 23:17:59.000000000 +0000 -@@ -175,6 +175,12 @@ - .id = SERIO_ANY, - .extra = SERIO_ANY, - }, -+ { -+ .type = SERIO_RS232, -+ .proto = 0x1f, // Trust ForceFeedback Race Master -+ .id = SERIO_ANY, -+ .extra = SERIO_ANY, -+ }, - { 0 } - }; +; https://lkml.org/lkml/2019/7/10/244 +diff -ur linux-5.3/drivers/scsi/aacraid.org/aacraid.h linux-5.3/drivers/scsi/aacraid/aacraid.h +--- linux-5.3/drivers/scsi/aacraid.org/aacraid.h 2019-11-01 22:42:37.011469816 +0100 ++++ linux-5.3/drivers/scsi/aacraid/aacraid.h 2019-11-04 09:29:51.321486211 +0100 +@@ -2740,17 +2740,6 @@ + int aac_rx_deliver_producer(struct fib * fib); + void aac_reinit_aif(struct aac_dev *aac, unsigned int index); ---- linux-2.6.27/arch/powerpc/include/asm/io.h~ 2006-06-18 01:49:35.000000000 +0000 -+++ linux-2.6.27/arch/powerpc/include/asm/io.h 2006-06-22 02:44:19.000000000 +0000 -@@ -445,6 +445,10 @@ - #define page_to_phys(page) (page_to_pfn(page) << PAGE_SHIFT) - #define page_to_bus(page) (page_to_phys(page) + PCI_DRAM_OFFSET) - -+#define isa_virt_to_bus virt_to_phys -+#define isa_page_to_bus page_to_phys -+#define isa_bus_to_virt phys_to_virt -+ - /* Enforce in-order execution of data I/O. - * No distinction between read/write on PPC; use eieio for all three. - */ ---- linux-2.6.27/arch/powerpc/include/asm/suspend.h 2007-07-09 01:32:17.000000000 +0200 -+++ linux-2.6.27/arch/powerpc/include/asm/suspend.h 2007-08-28 23:26:16.629658848 +0200 -@@ -6,4 +6,7 @@ - void save_processor_state(void); - void restore_processor_state(void); - -+#define suspend2_faulted (0) -+#define clear_suspend2_fault() do { } while(0) -+ - #endif /* __ASM_POWERPC_SUSPEND_H */ ---- linux-2.6.26/arch/powerpc/kernel/swsusp.c 2008-09-29 00:01:56.000000000 +0200 -+++ linux-2.6.26/arch/powerpc/kernel/swsusp.c 2008-09-29 00:01:42.000000000 +0200 -@@ -9,6 +9,7 @@ - * 2 of the License, or (at your option) any later version. - */ - -+#include - #include - #include - #include -@@ -30,6 +31,7 @@ - #endif +-static inline int aac_is_src(struct aac_dev *dev) +-{ +- u16 device = dev->pdev->device; +- +- if (device == PMC_DEVICE_S6 || +- device == PMC_DEVICE_S7 || +- device == PMC_DEVICE_S8) +- return 1; +- return 0; +-} +- + static inline int aac_supports_2T(struct aac_dev *dev) + { + return (dev->adapter_info.options & AAC_OPT_NEW_COMM_64); +diff -ur linux-5.3/drivers/scsi/aacraid.org/comminit.c linux-5.3/drivers/scsi/aacraid/comminit.c +--- linux-5.3/drivers/scsi/aacraid.org/comminit.c 2019-11-01 22:42:37.014803249 +0100 ++++ linux-5.3/drivers/scsi/aacraid/comminit.c 2019-11-04 09:29:51.321486211 +0100 +@@ -41,8 +41,11 @@ + { + u32 status = 0; +- if (aac_is_src(dev)) ++ if (dev->pdev->device == PMC_DEVICE_S6 || ++ dev->pdev->device == PMC_DEVICE_S7 || ++ dev->pdev->device == PMC_DEVICE_S8) { + status = src_readl(dev, MUnit.OMR); ++ } + return (status & AAC_INT_MODE_MSIX); } -+EXPORT_SYMBOL(save_processor_state); - void restore_processor_state(void) +@@ -349,7 +352,8 @@ + /* FIB should be freed only after getting the response from the F/W */ + if (status != -ERESTARTSYS) + aac_fib_free(fibctx); +- if (aac_is_src(dev) && ++ if ((dev->pdev->device == PMC_DEVICE_S7 || ++ dev->pdev->device == PMC_DEVICE_S8) && + dev->msi_enabled) + aac_set_intx_mode(dev); + return status; +@@ -610,7 +614,8 @@ + dev->max_fib_size = status[1] & 0xFFE0; + host->sg_tablesize = status[2] >> 16; + dev->sg_tablesize = status[2] & 0xFFFF; +- if (aac_is_src(dev)) { ++ if (dev->pdev->device == PMC_DEVICE_S7 || ++ dev->pdev->device == PMC_DEVICE_S8) { + if (host->can_queue > (status[3] >> 16) - + AAC_NUM_MGT_FIB) + host->can_queue = (status[3] >> 16) - +@@ -629,7 +634,9 @@ + pr_warn("numacb=%d ignored\n", numacb); + } + +- if (aac_is_src(dev)) ++ if (dev->pdev->device == PMC_DEVICE_S6 || ++ dev->pdev->device == PMC_DEVICE_S7 || ++ dev->pdev->device == PMC_DEVICE_S8) + aac_define_int_mode(dev); + /* + * Ok now init the communication subsystem +diff -ur linux-5.3/drivers/scsi/aacraid.org/commsup.c linux-5.3/drivers/scsi/aacraid/commsup.c +--- linux-5.3/drivers/scsi/aacraid.org/commsup.c 2019-11-01 22:42:37.014803249 +0100 ++++ linux-5.3/drivers/scsi/aacraid/commsup.c 2019-11-04 09:29:51.321486211 +0100 +@@ -2593,7 +2593,9 @@ { - ---- linux-2.6.32/drivers/infiniband/Kconfig~ 2009-12-05 00:26:03.663774916 +0100 -+++ linux-2.6.32/drivers/infiniband/Kconfig 2009-12-05 00:26:05.914179759 +0100 -@@ -37,7 +37,6 @@ - config INFINIBAND_ADDR_TRANS - bool - depends on INET -- depends on !(INFINIBAND = y && IPV6 = m) - default y + int i; - source "drivers/infiniband/hw/mthca/Kconfig" ---- linux-2.6.33/scripts/mod/modpost.c~ 2010-02-24 19:52:17.000000000 +0100 -+++ linux-2.6.33/scripts/mod/modpost.c 2010-03-07 14:26:47.242168558 +0100 -@@ -15,7 +15,8 @@ - #include - #include - #include "modpost.h" --#include "../../include/generated/autoconf.h" -+// PLD architectures don't use CONFIG_SYMBOL_PREFIX -+//#include "../../include/generated/autoconf.h" - #include "../../include/linux/license.h" +- if (aac_is_src(dev)) { ++ if (dev->pdev->device == PMC_DEVICE_S6 || ++ dev->pdev->device == PMC_DEVICE_S7 || ++ dev->pdev->device == PMC_DEVICE_S8) { + if (dev->max_msix > 1) { + for (i = 0; i < dev->max_msix; i++) + free_irq(pci_irq_vector(dev->pdev, i), +diff -ur linux-5.3/drivers/scsi/aacraid.org/linit.c linux-5.3/drivers/scsi/aacraid/linit.c +--- linux-5.3/drivers/scsi/aacraid.org/linit.c 2019-11-01 22:42:37.011469816 +0100 ++++ linux-5.3/drivers/scsi/aacraid/linit.c 2019-11-04 09:29:51.321486211 +0100 +@@ -1567,8 +1567,9 @@ + aac_send_shutdown(aac); - /* Some toolchains use a `_' prefix for all user symbols. */ - -commit 87b09f1f25cd1e01d7c50bf423c7fe33027d7511 -Author: stephen hemminger -Date: Fri Feb 12 06:58:00 2010 +0000 - - sky2: dont enable PME legacy mode - - This bit is not changed by vendor driver, and should be left alone. - The documentation implies this a debug bit. - 0 = WAKE# only asserted when VMAIN not available - 1 = WAKE# is depend on wake events and independent of VMAIN. - - Signed-off-by: Stephen Hemminger - Signed-off-by: David S. Miller - -diff --git b/drivers/net/sky2.c a/drivers/net/sky2.c -index 2494842..edf37aa 100644 ---- b/drivers/net/sky2.c -+++ a/drivers/net/sky2.c -@@ -733,6 +733,7 @@ static void sky2_wol_init(struct sky2_port *sky2) - unsigned port = sky2->port; - enum flow_control save_mode; - u16 ctrl; -+ u32 reg1; + aac_adapter_disable_int(aac); +- +- if (aac_is_src(aac)) { ++ if (aac->pdev->device == PMC_DEVICE_S6 || ++ aac->pdev->device == PMC_DEVICE_S7 || ++ aac->pdev->device == PMC_DEVICE_S8) { + if (aac->max_msix > 1) { + for (i = 0; i < aac->max_msix; i++) { + free_irq(pci_irq_vector(aac->pdev, i), +@@ -1858,7 +1859,8 @@ + aac_adapter_enable_int(dev); - /* Bring hardware out of reset */ - sky2_write16(hw, B0_CTST, CS_RST_CLR); -@@ -786,6 +787,11 @@ static void sky2_wol_init(struct sky2_port *sky2) - /* Disable PiG firmware */ - sky2_write16(hw, B0_CTST, Y2_HW_WOL_OFF); -+ /* Turn on legacy PCI-Express PME mode */ -+ reg1 = sky2_pci_read32(hw, PCI_DEV_REG1); -+ reg1 |= PCI_Y2_PME_LEGACY; -+ sky2_pci_write32(hw, PCI_DEV_REG1, reg1); -+ - /* block receiver */ - sky2_write8(hw, SK_REG(port, RX_GMF_CTRL_T), GMF_RST_SET); - } - -Commit 368e136 ("xfs: remove duplicate code from dquot reclaim") fails -to unlock the dquot freelist when the number of loop restarts is -exceeded in xfs_qm_dqreclaim_one(). This causes hangs in memory -reclaim. Remove the bogus loop exit check that causes the problem. - -Reported-by: Malcolm Scott -Signed-off-by: Dave Chinner ---- - fs/xfs/quota/xfs_qm.c | 2 -- - 1 files changed, 0 insertions(+), 2 deletions(-) - -diff --git a/fs/xfs/quota/xfs_qm.c b/fs/xfs/quota/xfs_qm.c -index f8e854b..9431c56 100644 ---- a/fs/xfs/quota/xfs_qm.c -+++ b/fs/xfs/quota/xfs_qm.c -@@ -1992,8 +1992,6 @@ dqfunlock: - xfs_dqunlock(dqp); - if (dqpout) - break; -- if (restarts >= XFS_QM_RECLAIM_MAX_RESTARTS) -- return NULL; - } - mutex_unlock(&xfs_Gqm->qm_dqfrlist_lock); - return dqpout; -Subject: [PATCH -mm] swiotlb: fix wrong panic -From: FUJITA Tomonori - -swiotlb's map_page wrongly calls panic() when it can't find a buffer -fit for device's dma mask. It should return an error instead. - -Devices with an odd dma mask (i.e. under 4G) like b44 network card hit -this bug (the system crashes): - -http://marc.info/?l=linux-kernel&m=129648943830106&w=2 - -If swiotlb returns an error, b44 driver can use the own bouncing -mechanism. - -Reported-by: Chuck Ebbert -Signed-off-by: FUJITA Tomonori -Tested-by: Arkadiusz Miskiewicz -Cc: stable@kernel.org ---- - lib/swiotlb.c | 6 ++++-- - 1 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/lib/swiotlb.c b/lib/swiotlb.c -index c47bbe1..93ca08b 100644 ---- a/lib/swiotlb.c -+++ b/lib/swiotlb.c -@@ -686,8 +686,10 @@ dma_addr_t swiotlb_map_page(struct device *dev, struct page *page, - /* - * Ensure that the address returned is DMA'ble - */ -- if (!dma_capable(dev, dev_addr, size)) -- panic("map_single: bounce buffer is not DMA'ble"); -+ if (!dma_capable(dev, dev_addr, size)) { -+ swiotlb_tbl_unmap_single(dev, map, size, dir); -+ dev_addr = swiotlb_virt_to_bus(dev, io_tlb_overflow_buffer); -+ } +- if (aac_is_src(dev)) ++ if (dev->pdev->device == PMC_DEVICE_S7 || ++ dev->pdev->device == PMC_DEVICE_S8) + aac_define_int_mode(dev); - return dev_addr; - } --- -1.7.2.3 - + if (dev->msi_enabled) +--- linux-5.7/scripts/ld-version.sh~ 2020-06-01 01:49:15.000000000 +0200 ++++ linux-5.7/scripts/ld-version.sh 2020-06-02 08:28:48.303207264 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/awk -f ++#!/bin/awk -f + # SPDX-License-Identifier: GPL-2.0 + # extract linker version number from stdin and turn into single number + {