kernel: bump 5.10 to 5.10.70 (#7976)

* kernel: bump 5.10 to 5.10.65

Manually refreshed:
generic/pending-5.10/800-bcma-get-SoC-device-struct-copy-its-DMA-params-to-th.patch
bcm27xx/patches-5.10/950-0053-firmware-bcm2835-Support-ARCH_BCM270x.patch
bcm27xx/patches-5.10/950-0087-firmware-raspberrypi-Add-backward-compatible-get_thr.patch

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>

* kernel: bump 5.10 to 5.10.66

No patches refreshed.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>

* kernel: bump 5.10 to 5.10.67

Deleted (upstreamed):
bcm27xx/patches-5.10/950-0312-vc4_hdmi-Set-HD_CTL_WHOLSMP-and-HD_CTL_CHALIGN_SET.patch

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>

* kernel: bump 5.10 to 5.10.68

Deleted (upstreamed):
generic/backport-5.10/610-v5.13-02-netfilter-Fix-fall-through-warnings-for-Clang.patch
generic/backport-5.10/792-v5.15-0001-net-dsa-b53-Fix-calculating-number-of-switch-ports.patch
generic/backport-5.10/792-v5.15-0002-net-dsa-b53-Set-correct-number-of-ports-in-the-DSA-s.patch
generic/backport-5.10/792-v5.15-0003-net-dsa-b53-Fix-IMP-port-setup-on-BCM5301x.patch
generic/backport-5.10/840-0001-PCI-of-Don-t-fail-devm_pci_alloc_host_bridge-on-miss.patch
generic/backport-5.10/840-0002-PCI-iproc-Fix-BCMA-probe-resource-handling.patch
generic/pending-5.10/498-mtd-mtdconcat-select-readwrite-function.patch

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>

* kernel: bump 5.10 to 5.10.69

Patches automatically refreshed.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>

* kernel: bump 5.10 to 5.10.70

Deleted (upstreamed):
bcm53xx/patches-5.10/181-Revert-USB-bcma-Add-a-check-for-devm_gpiod_get.patch

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>

Co-authored-by: Rui Salvaterra <rsalvaterra@gmail.com>
This commit is contained in:
Beginner 2021-10-04 22:25:52 +08:00 committed by GitHub
parent 00eeb609c2
commit a9c5c7aa6b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
48 changed files with 125 additions and 227 deletions

View File

@ -7,10 +7,10 @@ ifdef CONFIG_TESTING_KERNEL
endif endif
LINUX_VERSION-5.4 = .150 LINUX_VERSION-5.4 = .150
LINUX_VERSION-5.10 = .64 LINUX_VERSION-5.10 = .70
LINUX_KERNEL_HASH-5.4.150 = f424a9bbb05007f04c17f96a2e4f041a8001554a9060d2c291606e8a97c62aa2 LINUX_KERNEL_HASH-5.4.150 = f424a9bbb05007f04c17f96a2e4f041a8001554a9060d2c291606e8a97c62aa2
LINUX_KERNEL_HASH-5.10.64 = 3eb84bd24a2de2b4749314e34597c02401c5d6831b055ed5224adb405c35e30a LINUX_KERNEL_HASH-5.10.70 = 75736c33711d7f298889ee4981b18774882045323e5c46af9ad3b022082db232
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))

View File

@ -18,7 +18,7 @@ Subject: [PATCH] firmware: Updated mailbox header
struct rpi_firmware; struct rpi_firmware;
enum rpi_firmware_property_status { enum rpi_firmware_property_status {
@@ -159,5 +161,6 @@ static inline struct rpi_firmware *rpi_f @@ -161,5 +163,6 @@ static inline struct rpi_firmware *rpi_f
return NULL; return NULL;
} }
#endif #endif

View File

@ -244,7 +244,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
static int bcm2708_fb_register(struct bcm2708_fb *fb) static int bcm2708_fb_register(struct bcm2708_fb *fb)
--- a/drivers/video/fbdev/core/fbmem.c --- a/drivers/video/fbdev/core/fbmem.c
+++ b/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c
@@ -1079,6 +1079,30 @@ fb_blank(struct fb_info *info, int blank @@ -1085,6 +1085,30 @@ fb_blank(struct fb_info *info, int blank
} }
EXPORT_SYMBOL(fb_blank); EXPORT_SYMBOL(fb_blank);
@ -275,7 +275,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
unsigned long arg) unsigned long arg)
{ {
@@ -1087,6 +1111,7 @@ static long do_fb_ioctl(struct fb_info * @@ -1093,6 +1117,7 @@ static long do_fb_ioctl(struct fb_info *
struct fb_fix_screeninfo fix; struct fb_fix_screeninfo fix;
struct fb_cmap cmap_from; struct fb_cmap cmap_from;
struct fb_cmap_user cmap; struct fb_cmap_user cmap;
@ -283,7 +283,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
void __user *argp = (void __user *)arg; void __user *argp = (void __user *)arg;
long ret = 0; long ret = 0;
@@ -1162,6 +1187,15 @@ static long do_fb_ioctl(struct fb_info * @@ -1168,6 +1193,15 @@ static long do_fb_ioctl(struct fb_info *
unlock_fb_info(info); unlock_fb_info(info);
console_unlock(); console_unlock();
break; break;
@ -299,7 +299,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
default: default:
lock_fb_info(info); lock_fb_info(info);
fb = info->fbops; fb = info->fbops;
@@ -1307,6 +1341,7 @@ static long fb_compat_ioctl(struct file @@ -1313,6 +1347,7 @@ static long fb_compat_ioctl(struct file
case FBIOPAN_DISPLAY: case FBIOPAN_DISPLAY:
case FBIOGET_CON2FBMAP: case FBIOGET_CON2FBMAP:
case FBIOPUT_CON2FBMAP: case FBIOPUT_CON2FBMAP:

View File

@ -221,7 +221,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
static inline int mmc_blk_part_switch(struct mmc_card *card, static inline int mmc_blk_part_switch(struct mmc_card *card,
unsigned int part_type); unsigned int part_type);
static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq, static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq,
@@ -2898,6 +2905,7 @@ static int mmc_blk_probe(struct mmc_card @@ -2897,6 +2904,7 @@ static int mmc_blk_probe(struct mmc_card
{ {
struct mmc_blk_data *md, *part_md; struct mmc_blk_data *md, *part_md;
char cap_str[10]; char cap_str[10];
@ -229,7 +229,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
/* /*
* Check that the card supports the command class(es) we need. * Check that the card supports the command class(es) we need.
@@ -2905,7 +2913,16 @@ static int mmc_blk_probe(struct mmc_card @@ -2904,7 +2912,16 @@ static int mmc_blk_probe(struct mmc_card
if (!(card->csd.cmdclass & CCC_BLOCK_READ)) if (!(card->csd.cmdclass & CCC_BLOCK_READ))
return -ENODEV; return -ENODEV;
@ -247,7 +247,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
card->complete_wq = alloc_workqueue("mmc_complete", card->complete_wq = alloc_workqueue("mmc_complete",
WQ_MEM_RECLAIM | WQ_HIGHPRI, 0); WQ_MEM_RECLAIM | WQ_HIGHPRI, 0);
@@ -2920,9 +2937,14 @@ static int mmc_blk_probe(struct mmc_card @@ -2919,9 +2936,14 @@ static int mmc_blk_probe(struct mmc_card
string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2, string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2,
cap_str, sizeof(cap_str)); cap_str, sizeof(cap_str));

View File

@ -27,8 +27,8 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
--- a/drivers/firmware/raspberrypi.c --- a/drivers/firmware/raspberrypi.c
+++ b/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c
@@ -29,6 +29,8 @@ struct rpi_firmware { @@ -32,6 +32,8 @@ struct rpi_firmware {
u32 enabled; struct kref consumers;
}; };
+static struct platform_device *g_pdev; +static struct platform_device *g_pdev;
@ -36,32 +36,46 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
static DEFINE_MUTEX(transaction_lock); static DEFINE_MUTEX(transaction_lock);
static void response_callback(struct mbox_client *cl, void *msg) static void response_callback(struct mbox_client *cl, void *msg)
@@ -249,6 +251,7 @@ static int rpi_firmware_probe(struct pla @@ -272,6 +274,7 @@ static int rpi_firmware_probe(struct pla
init_completion(&fw->c); kref_init(&fw->consumers);
platform_set_drvdata(pdev, fw); platform_set_drvdata(pdev, fw);
+ g_pdev = pdev; + g_pdev = pdev;
rpi_firmware_print_firmware_revision(fw); rpi_firmware_print_firmware_revision(fw);
rpi_register_hwmon_driver(dev, fw); rpi_register_hwmon_driver(dev, fw);
@@ -276,6 +279,7 @@ static int rpi_firmware_remove(struct pl @@ -301,6 +304,8 @@ static int rpi_firmware_remove(struct pl
platform_device_unregister(rpi_clk);
rpi_clk = NULL;
mbox_free_channel(fw->chan);
+ g_pdev = NULL;
rpi_firmware_put(fw);
+ g_pdev = NULL;
+
return 0; return 0;
} }
@@ -288,7 +292,7 @@ static int rpi_firmware_remove(struct pl
@@ -314,7 +319,7 @@ static int rpi_firmware_remove(struct pl
*/ */
struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node) struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node)
{ {
- struct platform_device *pdev = of_find_device_by_node(firmware_node); - struct platform_device *pdev = of_find_device_by_node(firmware_node);
+ struct platform_device *pdev = g_pdev; + struct platform_device *pdev = g_pdev;
struct rpi_firmware *fw;
if (!pdev) if (!pdev)
return NULL; @@ -327,12 +332,9 @@ struct rpi_firmware *rpi_firmware_get(st
@@ -312,7 +316,18 @@ static struct platform_driver rpi_firmwa if (!kref_get_unless_zero(&fw->consumers))
goto err_put_device;
- put_device(&pdev->dev);
-
return fw;
err_put_device:
- put_device(&pdev->dev);
return NULL;
}
EXPORT_SYMBOL_GPL(rpi_firmware_get);
@@ -352,7 +354,18 @@ static struct platform_driver rpi_firmwa
.shutdown = rpi_firmware_shutdown, .shutdown = rpi_firmware_shutdown,
.remove = rpi_firmware_remove, .remove = rpi_firmware_remove,
}; };

View File

@ -13,7 +13,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
--- a/drivers/firmware/raspberrypi.c --- a/drivers/firmware/raspberrypi.c
+++ b/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c
@@ -43,7 +43,7 @@ static void response_callback(struct mbo @@ -46,7 +46,7 @@ static void response_callback(struct mbo
* Sends a request to the firmware through the BCM2835 mailbox driver, * Sends a request to the firmware through the BCM2835 mailbox driver,
* and synchronously waits for the reply. * and synchronously waits for the reply.
*/ */
@ -22,7 +22,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
rpi_firmware_transaction(struct rpi_firmware *fw, u32 chan, u32 data) rpi_firmware_transaction(struct rpi_firmware *fw, u32 chan, u32 data)
{ {
u32 message = MBOX_MSG(chan, data); u32 message = MBOX_MSG(chan, data);
@@ -68,6 +68,7 @@ rpi_firmware_transaction(struct rpi_firm @@ -71,6 +71,7 @@ rpi_firmware_transaction(struct rpi_firm
return ret; return ret;
} }

View File

@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/firmware/raspberrypi.c --- a/drivers/firmware/raspberrypi.c
+++ b/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c
@@ -11,6 +11,7 @@ @@ -12,6 +12,7 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/of_platform.h> #include <linux/of_platform.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
@ -21,7 +21,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
#include <linux/slab.h> #include <linux/slab.h>
#include <soc/bcm2835/raspberrypi-firmware.h> #include <soc/bcm2835/raspberrypi-firmware.h>
@@ -177,6 +178,26 @@ int rpi_firmware_property(struct rpi_fir @@ -180,6 +181,26 @@ int rpi_firmware_property(struct rpi_fir
} }
EXPORT_SYMBOL_GPL(rpi_firmware_property); EXPORT_SYMBOL_GPL(rpi_firmware_property);
@ -48,7 +48,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
static void static void
rpi_firmware_print_firmware_revision(struct rpi_firmware *fw) rpi_firmware_print_firmware_revision(struct rpi_firmware *fw)
{ {
@@ -318,15 +339,32 @@ static struct platform_driver rpi_firmwa @@ -356,15 +377,32 @@ static struct platform_driver rpi_firmwa
.remove = rpi_firmware_remove, .remove = rpi_firmware_remove,
}; };

View File

@ -16,15 +16,15 @@ Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
--- a/drivers/firmware/raspberrypi.c --- a/drivers/firmware/raspberrypi.c
+++ b/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c
@@ -28,6 +28,7 @@ struct rpi_firmware { @@ -29,6 +29,7 @@ struct rpi_firmware {
struct mbox_chan *chan; /* The property channel. */ struct mbox_chan *chan; /* The property channel. */
struct completion c; struct completion c;
u32 enabled; u32 enabled;
+ u32 get_throttled; + u32 get_throttled;
};
static struct platform_device *g_pdev; struct kref consumers;
@@ -174,6 +175,12 @@ int rpi_firmware_property(struct rpi_fir };
@@ -177,6 +178,12 @@ int rpi_firmware_property(struct rpi_fir
kfree(data); kfree(data);
@ -37,7 +37,7 @@ Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
return ret; return ret;
} }
EXPORT_SYMBOL_GPL(rpi_firmware_property); EXPORT_SYMBOL_GPL(rpi_firmware_property);
@@ -198,6 +205,27 @@ static int rpi_firmware_notify_reboot(st @@ -201,6 +208,27 @@ static int rpi_firmware_notify_reboot(st
return 0; return 0;
} }
@ -65,7 +65,7 @@ Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
static void static void
rpi_firmware_print_firmware_revision(struct rpi_firmware *fw) rpi_firmware_print_firmware_revision(struct rpi_firmware *fw)
{ {
@@ -227,6 +255,11 @@ rpi_register_hwmon_driver(struct device @@ -230,6 +258,11 @@ rpi_register_hwmon_driver(struct device
rpi_hwmon = platform_device_register_data(dev, "raspberrypi-hwmon", rpi_hwmon = platform_device_register_data(dev, "raspberrypi-hwmon",
-1, NULL, 0); -1, NULL, 0);

View File

@ -27,7 +27,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
--- a/drivers/firmware/raspberrypi.c --- a/drivers/firmware/raspberrypi.c
+++ b/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c
@@ -231,6 +231,15 @@ rpi_firmware_print_firmware_revision(str @@ -234,6 +234,15 @@ rpi_firmware_print_firmware_revision(str
{ {
time64_t date_and_time; time64_t date_and_time;
u32 packet; u32 packet;
@ -43,7 +43,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
int ret = rpi_firmware_property(fw, int ret = rpi_firmware_property(fw,
RPI_FIRMWARE_GET_FIRMWARE_REVISION, RPI_FIRMWARE_GET_FIRMWARE_REVISION,
&packet, sizeof(packet)); &packet, sizeof(packet));
@@ -240,7 +249,35 @@ rpi_firmware_print_firmware_revision(str @@ -243,7 +252,35 @@ rpi_firmware_print_firmware_revision(str
/* This is not compatible with y2038 */ /* This is not compatible with y2038 */
date_and_time = packet; date_and_time = packet;
@ -80,7 +80,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
} }
static void static void
@@ -309,6 +346,7 @@ static int rpi_firmware_probe(struct pla @@ -332,6 +369,7 @@ static int rpi_firmware_probe(struct pla
g_pdev = pdev; g_pdev = pdev;
rpi_firmware_print_firmware_revision(fw); rpi_firmware_print_firmware_revision(fw);

View File

@ -81,7 +81,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
extern int usb_driver_set_configuration(struct usb_device *udev, int config); extern int usb_driver_set_configuration(struct usb_device *udev, int config);
--- a/include/linux/usb/hcd.h --- a/include/linux/usb/hcd.h
+++ b/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h
@@ -382,6 +382,11 @@ struct hc_driver { @@ -384,6 +384,11 @@ struct hc_driver {
* or bandwidth constraints. * or bandwidth constraints.
*/ */
void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *); void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *);
@ -93,7 +93,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
/* Returns the hardware-chosen device address */ /* Returns the hardware-chosen device address */
int (*address_device)(struct usb_hcd *, struct usb_device *udev); int (*address_device)(struct usb_hcd *, struct usb_device *udev);
/* prepares the hardware to send commands to the device */ /* prepares the hardware to send commands to the device */
@@ -443,6 +448,8 @@ extern void usb_hcd_unmap_urb_setup_for_ @@ -445,6 +450,8 @@ extern void usb_hcd_unmap_urb_setup_for_
extern void usb_hcd_unmap_urb_for_dma(struct usb_hcd *, struct urb *); extern void usb_hcd_unmap_urb_for_dma(struct usb_hcd *, struct urb *);
extern void usb_hcd_flush_endpoint(struct usb_device *udev, extern void usb_hcd_flush_endpoint(struct usb_device *udev,
struct usb_host_endpoint *ep); struct usb_host_endpoint *ep);

View File

@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
--- a/drivers/usb/host/xhci.c --- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c
@@ -1467,6 +1467,103 @@ command_cleanup: @@ -1468,6 +1468,103 @@ command_cleanup:
} }
/* /*
@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
* non-error returns are a promise to giveback() the urb later * non-error returns are a promise to giveback() the urb later
* we drop ownership so next owner (or urb unlink) can get it * we drop ownership so next owner (or urb unlink) can get it
*/ */
@@ -5361,6 +5458,7 @@ static const struct hc_driver xhci_hc_dr @@ -5362,6 +5459,7 @@ static const struct hc_driver xhci_hc_dr
.endpoint_reset = xhci_endpoint_reset, .endpoint_reset = xhci_endpoint_reset,
.check_bandwidth = xhci_check_bandwidth, .check_bandwidth = xhci_check_bandwidth,
.reset_bandwidth = xhci_reset_bandwidth, .reset_bandwidth = xhci_reset_bandwidth,

View File

@ -36,7 +36,7 @@ Co-authored-by: Phil Elwell <phil@raspberrypi.org>
MODULE_DESCRIPTION("BCM2835 clock driver"); MODULE_DESCRIPTION("BCM2835 clock driver");
--- a/drivers/firmware/raspberrypi.c --- a/drivers/firmware/raspberrypi.c
+++ b/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c
@@ -430,7 +430,7 @@ out2: @@ -468,7 +468,7 @@ out2:
out1: out1:
return ret; return ret;
} }

View File

@ -22,7 +22,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
#define MAX_TUNING_LOOP 40 #define MAX_TUNING_LOOP 40
@@ -3126,7 +3126,7 @@ static void sdhci_timeout_timer(struct t @@ -3127,7 +3127,7 @@ static void sdhci_timeout_timer(struct t
spin_lock_irqsave(&host->lock, flags); spin_lock_irqsave(&host->lock, flags);
if (host->cmd && !sdhci_data_line_cmd(host->cmd)) { if (host->cmd && !sdhci_data_line_cmd(host->cmd)) {
@ -31,7 +31,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
mmc_hostname(host->mmc)); mmc_hostname(host->mmc));
sdhci_dumpregs(host); sdhci_dumpregs(host);
@@ -3148,7 +3148,7 @@ static void sdhci_timeout_data_timer(str @@ -3149,7 +3149,7 @@ static void sdhci_timeout_data_timer(str
if (host->data || host->data_cmd || if (host->data || host->data_cmd ||
(host->cmd && sdhci_data_line_cmd(host->cmd))) { (host->cmd && sdhci_data_line_cmd(host->cmd))) {

View File

@ -12,7 +12,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -1488,9 +1488,6 @@ static int vc4_hdmi_cec_init(struct vc4_ @@ -1490,9 +1490,6 @@ static int vc4_hdmi_cec_init(struct vc4_
u32 value; u32 value;
int ret; int ret;
@ -22,7 +22,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
vc4_hdmi->cec_adap = cec_allocate_adapter(&vc4_hdmi_cec_adap_ops, vc4_hdmi->cec_adap = cec_allocate_adapter(&vc4_hdmi_cec_adap_ops,
vc4_hdmi, "vc4", vc4_hdmi, "vc4",
CEC_CAP_DEFAULTS | CEC_CAP_DEFAULTS |
@@ -1910,7 +1907,6 @@ static const struct vc4_hdmi_variant bcm @@ -1912,7 +1909,6 @@ static const struct vc4_hdmi_variant bcm
.debugfs_name = "hdmi_regs", .debugfs_name = "hdmi_regs",
.card_name = "vc4-hdmi", .card_name = "vc4-hdmi",
.max_pixel_clock = 162000000, .max_pixel_clock = 162000000,

View File

@ -1,42 +0,0 @@
From 1a0b802bb6bca3b42034245d35b56309749a362c Mon Sep 17 00:00:00 2001
From: Dom Cobley <popcornmix@gmail.com>
Date: Tue, 23 Jun 2020 18:37:01 +0100
Subject: [PATCH] vc4_hdmi: Set HD_CTL_WHOLSMP and HD_CTL_CHALIGN_SET
Symptom is random switching of speakers when using multichannel.
Repeatedly running speakertest -c8 occasionally starts with
channels jumbled. This is fixed with HD_CTL_WHOLSMP.
The other bit looks beneficial and apears harmless in testing so
I'd suggest adding it too.
Documentation says: HD_CTL_WHILSMP_SET
Wait for whole sample. When this bit is set MAI transmit will start
only when there is at least one whole sample available in the fifo.
Documentation says: HD_CTL_CHALIGN_SET
Channel Align When Overflow. This bit is used to realign the audio
channels in case of an overflow.
If this bit is set, after the detection of an overflow, equal
amount of dummy words to the missing words will be written to fifo,
filling up the broken sample and maintaining alignment.
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
---
drivers/gpu/drm/vc4/vc4_hdmi.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -1074,7 +1074,9 @@ static int vc4_hdmi_audio_trigger(struct
HDMI_WRITE(HDMI_MAI_CTL,
VC4_SET_FIELD(vc4_hdmi->audio.channels,
VC4_HD_MAI_CTL_CHNUM) |
- VC4_HD_MAI_CTL_ENABLE);
+ VC4_HD_MAI_CTL_WHOLSMP |
+ VC4_HD_MAI_CTL_CHALIGN |
+ VC4_HD_MAI_CTL_ENABLE);
break;
case SNDRV_PCM_TRIGGER_STOP:
HDMI_WRITE(HDMI_MAI_CTL,

View File

@ -20,7 +20,7 @@ mechanism to be implemented for OS upgrades.
--- a/drivers/firmware/raspberrypi.c --- a/drivers/firmware/raspberrypi.c
+++ b/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c
@@ -191,6 +191,7 @@ static int rpi_firmware_notify_reboot(st @@ -194,6 +194,7 @@ static int rpi_firmware_notify_reboot(st
{ {
struct rpi_firmware *fw; struct rpi_firmware *fw;
struct platform_device *pdev = g_pdev; struct platform_device *pdev = g_pdev;
@ -28,7 +28,7 @@ mechanism to be implemented for OS upgrades.
if (!pdev) if (!pdev)
return 0; return 0;
@@ -199,8 +200,28 @@ static int rpi_firmware_notify_reboot(st @@ -202,8 +203,28 @@ static int rpi_firmware_notify_reboot(st
if (!fw) if (!fw)
return 0; return 0;

View File

@ -698,7 +698,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/845aa10ef171fc0ea060495efef1
struct mdp5_crtc_state *mdp5_cstate = to_mdp5_crtc_state(crtc->state); struct mdp5_crtc_state *mdp5_cstate = to_mdp5_crtc_state(crtc->state);
--- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c --- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c
+++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c +++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c
@@ -303,7 +303,7 @@ static void mxsfb_crtc_atomic_flush(stru @@ -343,7 +343,7 @@ static void mxsfb_crtc_atomic_flush(stru
} }
static void mxsfb_crtc_atomic_enable(struct drm_crtc *crtc, static void mxsfb_crtc_atomic_enable(struct drm_crtc *crtc,
@ -707,7 +707,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/845aa10ef171fc0ea060495efef1
{ {
struct mxsfb_drm_private *mxsfb = to_mxsfb_drm_private(crtc->dev); struct mxsfb_drm_private *mxsfb = to_mxsfb_drm_private(crtc->dev);
struct drm_device *drm = mxsfb->drm; struct drm_device *drm = mxsfb->drm;
@@ -327,7 +327,7 @@ static void mxsfb_crtc_atomic_enable(str @@ -367,7 +367,7 @@ static void mxsfb_crtc_atomic_enable(str
} }
static void mxsfb_crtc_atomic_disable(struct drm_crtc *crtc, static void mxsfb_crtc_atomic_disable(struct drm_crtc *crtc,
@ -1114,7 +1114,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/845aa10ef171fc0ea060495efef1
{ {
struct zynqmp_disp *disp = crtc_to_disp(crtc); struct zynqmp_disp *disp = crtc_to_disp(crtc);
struct drm_display_mode *adjusted_mode = &crtc->state->adjusted_mode; struct drm_display_mode *adjusted_mode = &crtc->state->adjusted_mode;
@@ -1472,8 +1472,10 @@ zynqmp_disp_crtc_atomic_enable(struct dr @@ -1473,8 +1473,10 @@ zynqmp_disp_crtc_atomic_enable(struct dr
static void static void
zynqmp_disp_crtc_atomic_disable(struct drm_crtc *crtc, zynqmp_disp_crtc_atomic_disable(struct drm_crtc *crtc,

View File

@ -638,7 +638,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-1-max
* and that we don't have conflicting mixer stages: * and that we don't have conflicting mixer stages:
--- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c --- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c
+++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c +++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c
@@ -270,17 +270,19 @@ static void mxsfb_crtc_mode_set_nofb(str @@ -310,17 +310,19 @@ static void mxsfb_crtc_mode_set_nofb(str
} }
static int mxsfb_crtc_atomic_check(struct drm_crtc *crtc, static int mxsfb_crtc_atomic_check(struct drm_crtc *crtc,
@ -990,7 +990,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-1-max
void vmw_du_crtc_atomic_flush(struct drm_crtc *crtc, void vmw_du_crtc_atomic_flush(struct drm_crtc *crtc,
--- a/drivers/gpu/drm/xlnx/zynqmp_disp.c --- a/drivers/gpu/drm/xlnx/zynqmp_disp.c
+++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c +++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c
@@ -1505,9 +1505,11 @@ zynqmp_disp_crtc_atomic_disable(struct d @@ -1506,9 +1506,11 @@ zynqmp_disp_crtc_atomic_disable(struct d
} }
static int zynqmp_disp_crtc_atomic_check(struct drm_crtc *crtc, static int zynqmp_disp_crtc_atomic_check(struct drm_crtc *crtc,

View File

@ -680,7 +680,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-2-max
struct mdp5_crtc_state *mdp5_cstate = to_mdp5_crtc_state(crtc->state); struct mdp5_crtc_state *mdp5_cstate = to_mdp5_crtc_state(crtc->state);
--- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c --- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c
+++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c +++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c
@@ -286,7 +286,7 @@ static int mxsfb_crtc_atomic_check(struc @@ -326,7 +326,7 @@ static int mxsfb_crtc_atomic_check(struc
} }
static void mxsfb_crtc_atomic_flush(struct drm_crtc *crtc, static void mxsfb_crtc_atomic_flush(struct drm_crtc *crtc,
@ -968,7 +968,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-2-max
void vmw_du_crtc_destroy_state(struct drm_crtc *crtc, void vmw_du_crtc_destroy_state(struct drm_crtc *crtc,
--- a/drivers/gpu/drm/xlnx/zynqmp_disp.c --- a/drivers/gpu/drm/xlnx/zynqmp_disp.c
+++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c +++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c
@@ -1514,14 +1514,14 @@ static int zynqmp_disp_crtc_atomic_check @@ -1515,14 +1515,14 @@ static int zynqmp_disp_crtc_atomic_check
static void static void
zynqmp_disp_crtc_atomic_begin(struct drm_crtc *crtc, zynqmp_disp_crtc_atomic_begin(struct drm_crtc *crtc,

View File

@ -75,7 +75,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201102133834.1176740-3-max
static void drm_simple_kms_crtc_enable(struct drm_crtc *crtc, static void drm_simple_kms_crtc_enable(struct drm_crtc *crtc,
--- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c --- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c
+++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c +++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c
@@ -282,7 +282,7 @@ static int mxsfb_crtc_atomic_check(struc @@ -322,7 +322,7 @@ static int mxsfb_crtc_atomic_check(struc
return -EINVAL; return -EINVAL;
/* TODO: Is this needed ? */ /* TODO: Is this needed ? */
@ -123,7 +123,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201102133834.1176740-3-max
continue; continue;
--- a/drivers/gpu/drm/xlnx/zynqmp_disp.c --- a/drivers/gpu/drm/xlnx/zynqmp_disp.c
+++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c +++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c
@@ -1507,9 +1507,7 @@ zynqmp_disp_crtc_atomic_disable(struct d @@ -1508,9 +1508,7 @@ zynqmp_disp_crtc_atomic_disable(struct d
static int zynqmp_disp_crtc_atomic_check(struct drm_crtc *crtc, static int zynqmp_disp_crtc_atomic_check(struct drm_crtc *crtc,
struct drm_atomic_state *state) struct drm_atomic_state *state)
{ {

View File

@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/usb/host/xhci.c --- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c
@@ -3269,10 +3269,13 @@ static void xhci_endpoint_reset(struct u @@ -3270,10 +3270,13 @@ static void xhci_endpoint_reset(struct u
return; return;
/* Bail out if toggle is already being cleared by a endpoint reset */ /* Bail out if toggle is already being cleared by a endpoint reset */
@ -30,7 +30,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
/* Only interrupt and bulk ep's use data toggle, USB2 spec 5.5.4-> */ /* Only interrupt and bulk ep's use data toggle, USB2 spec 5.5.4-> */
if (usb_endpoint_xfer_control(&host_ep->desc) || if (usb_endpoint_xfer_control(&host_ep->desc) ||
usb_endpoint_xfer_isoc(&host_ep->desc)) usb_endpoint_xfer_isoc(&host_ep->desc))
@@ -3358,8 +3361,10 @@ static void xhci_endpoint_reset(struct u @@ -3359,8 +3362,10 @@ static void xhci_endpoint_reset(struct u
xhci_free_command(xhci, cfg_cmd); xhci_free_command(xhci, cfg_cmd);
cleanup: cleanup:
xhci_free_command(xhci, stop_cmd); xhci_free_command(xhci, stop_cmd);

View File

@ -21,7 +21,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
clocks { clocks {
--- a/drivers/bcma/main.c --- a/drivers/bcma/main.c
+++ b/drivers/bcma/main.c +++ b/drivers/bcma/main.c
@@ -330,14 +330,6 @@ static int bcma_register_devices(struct @@ -328,14 +328,6 @@ static int bcma_register_devices(struct
} }
#endif #endif
@ -36,7 +36,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
#ifdef CONFIG_BCMA_NFLASH #ifdef CONFIG_BCMA_NFLASH
if (bus->drv_cc.nflash.present) { if (bus->drv_cc.nflash.present) {
err = platform_device_register(&bcma_nflash_dev); err = platform_device_register(&bcma_nflash_dev);
@@ -415,6 +407,14 @@ int bcma_bus_register(struct bcma_bus *b @@ -413,6 +405,14 @@ int bcma_bus_register(struct bcma_bus *b
bcma_register_core(bus, core); bcma_register_core(bus, core);
} }

View File

@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/dsa/b53/b53_priv.h --- a/drivers/net/dsa/b53/b53_priv.h
+++ b/drivers/net/dsa/b53/b53_priv.h +++ b/drivers/net/dsa/b53/b53_priv.h
@@ -185,11 +185,7 @@ static inline int is531x5(struct b53_dev @@ -186,11 +186,7 @@ static inline int is531x5(struct b53_dev
static inline int is63xx(struct b53_device *dev) static inline int is63xx(struct b53_device *dev)
{ {

View File

@ -43,7 +43,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
#include <asm/byteorder.h> #include <asm/byteorder.h>
#include <asm/irq.h> #include <asm/irq.h>
@@ -5556,6 +5560,72 @@ static void fotg210_init(struct fotg210_ @@ -5553,6 +5557,72 @@ static void fotg210_init(struct fotg210_
} }
/* /*
@ -116,7 +116,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* fotg210_hcd_probe - initialize faraday FOTG210 HCDs * fotg210_hcd_probe - initialize faraday FOTG210 HCDs
* *
* Allocates basic resources for this USB host controller, and * Allocates basic resources for this USB host controller, and
@@ -5632,6 +5702,12 @@ static int fotg210_hcd_probe(struct plat @@ -5629,6 +5699,12 @@ static int fotg210_hcd_probe(struct plat
fotg210_init(fotg210); fotg210_init(fotg210);

View File

@ -58,7 +58,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
} }
static int nf_flow_table_block_setup(struct nf_flowtable *flowtable, static int nf_flow_table_block_setup(struct nf_flowtable *flowtable,
@@ -1012,15 +1022,33 @@ EXPORT_SYMBOL_GPL(nf_flow_table_offload_ @@ -1013,15 +1023,33 @@ EXPORT_SYMBOL_GPL(nf_flow_table_offload_
int nf_flow_table_offload_init(void) int nf_flow_table_offload_init(void)
{ {

View File

@ -1,44 +0,0 @@
From: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Date: Tue, 23 Mar 2021 00:56:20 +0100
Subject: [PATCH] netfilter: Fix fall-through warnings for Clang
In preparation to enable -Wimplicit-fallthrough for Clang, fix multiple
warnings by explicitly adding multiple break statements instead of just
letting the code fall through to the next case.
Link: https://github.com/KSPP/linux/issues/115
Acked-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
--- a/net/netfilter/nf_conntrack_proto_dccp.c
+++ b/net/netfilter/nf_conntrack_proto_dccp.c
@@ -397,6 +397,7 @@ dccp_new(struct nf_conn *ct, const struc
msg = "not picking up existing connection ";
goto out_invalid;
}
+ break;
case CT_DCCP_REQUEST:
break;
case CT_DCCP_INVALID:
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
@@ -8394,6 +8394,7 @@ static int nf_tables_check_loops(const s
data->verdict.chain);
if (err < 0)
return err;
+ break;
default:
break;
}
--- a/net/netfilter/nft_ct.c
+++ b/net/netfilter/nft_ct.c
@@ -528,6 +528,7 @@ static void __nft_ct_set_destroy(const s
case NFT_CT_ZONE:
if (--nft_ct_pcpu_template_refcnt == 0)
nft_ct_tmpl_put_pcpu();
+ break;
#endif
default:
break;

View File

@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/net/dsa/slave.c --- a/net/dsa/slave.c
+++ b/net/dsa/slave.c +++ b/net/dsa/slave.c
@@ -2114,7 +2114,9 @@ static void dsa_slave_switchdev_event_wo @@ -2112,7 +2112,9 @@ static void dsa_slave_switchdev_event_wo
err = dsa_port_fdb_add(dp, fdb_info->addr, fdb_info->vid); err = dsa_port_fdb_add(dp, fdb_info->addr, fdb_info->vid);
if (err) { if (err) {
@ -36,7 +36,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
break; break;
} }
fdb_info->offloaded = true; fdb_info->offloaded = true;
@@ -2129,9 +2131,11 @@ static void dsa_slave_switchdev_event_wo @@ -2127,9 +2129,11 @@ static void dsa_slave_switchdev_event_wo
err = dsa_port_fdb_del(dp, fdb_info->addr, fdb_info->vid); err = dsa_port_fdb_del(dp, fdb_info->addr, fdb_info->vid);
if (err) { if (err) {

View File

@ -54,7 +54,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
struct sk_buff * (*xmit)(struct sk_buff *skb, struct sk_buff * (*xmit)(struct sk_buff *skb,
--- a/net/dsa/slave.c --- a/net/dsa/slave.c
+++ b/net/dsa/slave.c +++ b/net/dsa/slave.c
@@ -2089,76 +2089,66 @@ static int dsa_slave_netdevice_event(str @@ -2087,76 +2087,66 @@ static int dsa_slave_netdevice_event(str
return NOTIFY_DONE; return NOTIFY_DONE;
} }
@ -167,7 +167,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
} }
/* Called under rcu_read_lock() */ /* Called under rcu_read_lock() */
@@ -2166,7 +2156,9 @@ static int dsa_slave_switchdev_event(str @@ -2164,7 +2154,9 @@ static int dsa_slave_switchdev_event(str
unsigned long event, void *ptr) unsigned long event, void *ptr)
{ {
struct net_device *dev = switchdev_notifier_info_to_dev(ptr); struct net_device *dev = switchdev_notifier_info_to_dev(ptr);
@ -177,7 +177,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
int err; int err;
if (event == SWITCHDEV_PORT_ATTR_SET) { if (event == SWITCHDEV_PORT_ATTR_SET) {
@@ -2179,20 +2171,32 @@ static int dsa_slave_switchdev_event(str @@ -2177,20 +2169,32 @@ static int dsa_slave_switchdev_event(str
if (!dsa_slave_dev_check(dev)) if (!dsa_slave_dev_check(dev))
return NOTIFY_DONE; return NOTIFY_DONE;
@ -213,7 +213,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
dev_hold(dev); dev_hold(dev);
break; break;
default: default:
@@ -2202,10 +2206,6 @@ static int dsa_slave_switchdev_event(str @@ -2200,10 +2204,6 @@ static int dsa_slave_switchdev_event(str
dsa_schedule_work(&switchdev_work->work); dsa_schedule_work(&switchdev_work->work);
return NOTIFY_OK; return NOTIFY_OK;

View File

@ -20,7 +20,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/net/dsa/slave.c --- a/net/dsa/slave.c
+++ b/net/dsa/slave.c +++ b/net/dsa/slave.c
@@ -2161,31 +2161,29 @@ static int dsa_slave_switchdev_event(str @@ -2159,31 +2159,29 @@ static int dsa_slave_switchdev_event(str
struct dsa_port *dp; struct dsa_port *dp;
int err; int err;
@ -68,7 +68,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
fdb_info = ptr; fdb_info = ptr;
if (!fdb_info->added_by_user) { if (!fdb_info->added_by_user) {
@@ -2198,13 +2196,12 @@ static int dsa_slave_switchdev_event(str @@ -2196,13 +2194,12 @@ static int dsa_slave_switchdev_event(str
switchdev_work->vid = fdb_info->vid; switchdev_work->vid = fdb_info->vid;
dev_hold(dev); dev_hold(dev);

View File

@ -30,7 +30,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/net/dsa/slave.c --- a/net/dsa/slave.c
+++ b/net/dsa/slave.c +++ b/net/dsa/slave.c
@@ -2174,6 +2174,9 @@ static int dsa_slave_switchdev_event(str @@ -2172,6 +2172,9 @@ static int dsa_slave_switchdev_event(str
dp = dsa_slave_to_port(dev); dp = dsa_slave_to_port(dev);

View File

@ -170,7 +170,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
*/ */
--- a/net/dsa/slave.c --- a/net/dsa/slave.c
+++ b/net/dsa/slave.c +++ b/net/dsa/slave.c
@@ -2151,6 +2151,28 @@ static void dsa_slave_switchdev_event_wo @@ -2149,6 +2149,28 @@ static void dsa_slave_switchdev_event_wo
dev_put(dp->slave); dev_put(dp->slave);
} }
@ -199,7 +199,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/* Called under rcu_read_lock() */ /* Called under rcu_read_lock() */
static int dsa_slave_switchdev_event(struct notifier_block *unused, static int dsa_slave_switchdev_event(struct notifier_block *unused,
unsigned long event, void *ptr) unsigned long event, void *ptr)
@@ -2169,10 +2191,37 @@ static int dsa_slave_switchdev_event(str @@ -2167,10 +2189,37 @@ static int dsa_slave_switchdev_event(str
return notifier_from_errno(err); return notifier_from_errno(err);
case SWITCHDEV_FDB_ADD_TO_DEVICE: case SWITCHDEV_FDB_ADD_TO_DEVICE:
case SWITCHDEV_FDB_DEL_TO_DEVICE: case SWITCHDEV_FDB_DEL_TO_DEVICE:
@ -240,7 +240,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
if (!dp->ds->ops->port_fdb_add || !dp->ds->ops->port_fdb_del) if (!dp->ds->ops->port_fdb_add || !dp->ds->ops->port_fdb_del)
return NOTIFY_DONE; return NOTIFY_DONE;
@@ -2187,18 +2236,13 @@ static int dsa_slave_switchdev_event(str @@ -2185,18 +2234,13 @@ static int dsa_slave_switchdev_event(str
switchdev_work->port = dp->index; switchdev_work->port = dp->index;
switchdev_work->event = event; switchdev_work->event = event;

View File

@ -1,6 +1,6 @@
--- a/block/blk.h --- a/block/blk.h
+++ b/block/blk.h +++ b/block/blk.h
@@ -353,6 +353,7 @@ char *disk_name(struct gendisk *hd, int @@ -355,6 +355,7 @@ char *disk_name(struct gendisk *hd, int
#define ADDPART_FLAG_NONE 0 #define ADDPART_FLAG_NONE 0
#define ADDPART_FLAG_RAID 1 #define ADDPART_FLAG_RAID 1
#define ADDPART_FLAG_WHOLEDISK 2 #define ADDPART_FLAG_WHOLEDISK 2

View File

@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/sched/sch_fq_codel.c --- a/net/sched/sch_fq_codel.c
+++ b/net/sched/sch_fq_codel.c +++ b/net/sched/sch_fq_codel.c
@@ -461,7 +461,11 @@ static int fq_codel_init(struct Qdisc *s @@ -469,7 +469,11 @@ static int fq_codel_init(struct Qdisc *s
sch->limit = 10*1024; sch->limit = 10*1024;
q->flows_cnt = 1024; q->flows_cnt = 1024;

View File

@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
register_qdisc(&pfifo_head_drop_qdisc_ops); register_qdisc(&pfifo_head_drop_qdisc_ops);
--- a/net/sched/sch_fq_codel.c --- a/net/sched/sch_fq_codel.c
+++ b/net/sched/sch_fq_codel.c +++ b/net/sched/sch_fq_codel.c
@@ -701,7 +701,7 @@ static const struct Qdisc_class_ops fq_c @@ -709,7 +709,7 @@ static const struct Qdisc_class_ops fq_c
.walk = fq_codel_walk, .walk = fq_codel_walk,
}; };
@ -64,7 +64,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
.cl_ops = &fq_codel_class_ops, .cl_ops = &fq_codel_class_ops,
.id = "fq_codel", .id = "fq_codel",
.priv_size = sizeof(struct fq_codel_sched_data), .priv_size = sizeof(struct fq_codel_sched_data),
@@ -716,6 +716,7 @@ static struct Qdisc_ops fq_codel_qdisc_o @@ -724,6 +724,7 @@ static struct Qdisc_ops fq_codel_qdisc_o
.dump_stats = fq_codel_dump_stats, .dump_stats = fq_codel_dump_stats,
.owner = THIS_MODULE, .owner = THIS_MODULE,
}; };

View File

@ -62,7 +62,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
--- a/kernel/sched/core.c --- a/kernel/sched/core.c
+++ b/kernel/sched/core.c +++ b/kernel/sched/core.c
@@ -3049,6 +3049,7 @@ int wake_up_state(struct task_struct *p, @@ -3062,6 +3062,7 @@ int wake_up_state(struct task_struct *p,
{ {
return try_to_wake_up(p, state, 0); return try_to_wake_up(p, state, 0);
} }

View File

@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/include/linux/compiler.h --- a/include/linux/compiler.h
+++ b/include/linux/compiler.h +++ b/include/linux/compiler.h
@@ -211,6 +211,8 @@ void ftrace_likely_update(struct ftrace_ @@ -213,6 +213,8 @@ void ftrace_likely_update(struct ftrace_
__v; \ __v; \
}) })
@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
/* /*
@@ -243,6 +245,4 @@ static inline void *offset_to_ptr(const @@ -245,6 +247,4 @@ static inline void *offset_to_ptr(const
*/ */
#define prevent_tail_call_optimization() mb() #define prevent_tail_call_optimization() mb()

View File

@ -1,24 +0,0 @@
--- a/drivers/mtd/mtdconcat.c
+++ b/drivers/mtd/mtdconcat.c
@@ -683,8 +683,12 @@ struct mtd_info *mtd_concat_create(struc
concat->mtd._writev = concat_writev;
if (subdev[0]->_read_oob)
concat->mtd._read_oob = concat_read_oob;
+ else
+ concat->mtd._read = concat_read;
if (subdev[0]->_write_oob)
concat->mtd._write_oob = concat_write_oob;
+ else
+ concat->mtd._write = concat_write;
if (subdev[0]->_block_isbad)
concat->mtd._block_isbad = concat_block_isbad;
if (subdev[0]->_block_markbad)
@@ -744,8 +748,6 @@ struct mtd_info *mtd_concat_create(struc
concat->mtd.name = name;
concat->mtd._erase = concat_erase;
- concat->mtd._read = concat_read;
- concat->mtd._write = concat_write;
concat->mtd._sync = concat_sync;
concat->mtd._lock = concat_lock;
concat->mtd._unlock = concat_unlock;

View File

@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
case RTN_THROW: case RTN_THROW:
case RTN_UNREACHABLE: case RTN_UNREACHABLE:
default: default:
@@ -4426,6 +4445,17 @@ static int ip6_pkt_prohibit_out(struct n @@ -4429,6 +4448,17 @@ static int ip6_pkt_prohibit_out(struct n
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES); return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
} }
@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
/* /*
* Allocate a dst for local (unicast / anycast) address. * Allocate a dst for local (unicast / anycast) address.
*/ */
@@ -4906,7 +4936,8 @@ static int rtm_to_fib6_config(struct sk_ @@ -4909,7 +4939,8 @@ static int rtm_to_fib6_config(struct sk_
if (rtm->rtm_type == RTN_UNREACHABLE || if (rtm->rtm_type == RTN_UNREACHABLE ||
rtm->rtm_type == RTN_BLACKHOLE || rtm->rtm_type == RTN_BLACKHOLE ||
rtm->rtm_type == RTN_PROHIBIT || rtm->rtm_type == RTN_PROHIBIT ||
@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
cfg->fc_flags |= RTF_REJECT; cfg->fc_flags |= RTF_REJECT;
if (rtm->rtm_type == RTN_LOCAL) if (rtm->rtm_type == RTN_LOCAL)
@@ -6076,6 +6107,8 @@ static int ip6_route_dev_notify(struct n @@ -6079,6 +6110,8 @@ static int ip6_route_dev_notify(struct n
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->dst.dev = dev;
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
#endif #endif
@@ -6087,6 +6120,7 @@ static int ip6_route_dev_notify(struct n @@ -6090,6 +6123,7 @@ static int ip6_route_dev_notify(struct n
in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev); in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev); in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev); in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
#endif #endif
} }
@@ -6278,6 +6312,8 @@ static int __net_init ip6_route_net_init @@ -6281,6 +6315,8 @@ static int __net_init ip6_route_net_init
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.fib6_has_custom_rules = false; net->ipv6.fib6_has_custom_rules = false;
@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template, net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
sizeof(*net->ipv6.ip6_prohibit_entry), sizeof(*net->ipv6.ip6_prohibit_entry),
GFP_KERNEL); GFP_KERNEL);
@@ -6288,11 +6324,21 @@ static int __net_init ip6_route_net_init @@ -6291,11 +6327,21 @@ static int __net_init ip6_route_net_init
ip6_template_metrics, true); ip6_template_metrics, true);
INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached); INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached);
@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
ip6_template_metrics, true); ip6_template_metrics, true);
@@ -6319,6 +6365,8 @@ out: @@ -6322,6 +6368,8 @@ out:
return ret; return ret;
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
out_ip6_prohibit_entry: out_ip6_prohibit_entry:
kfree(net->ipv6.ip6_prohibit_entry); kfree(net->ipv6.ip6_prohibit_entry);
out_ip6_null_entry: out_ip6_null_entry:
@@ -6338,6 +6386,7 @@ static void __net_exit ip6_route_net_exi @@ -6341,6 +6389,7 @@ static void __net_exit ip6_route_net_exi
kfree(net->ipv6.ip6_null_entry); kfree(net->ipv6.ip6_null_entry);
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
kfree(net->ipv6.ip6_prohibit_entry); kfree(net->ipv6.ip6_prohibit_entry);
@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
kfree(net->ipv6.ip6_blk_hole_entry); kfree(net->ipv6.ip6_blk_hole_entry);
#endif #endif
dst_entries_destroy(&net->ipv6.ip6_dst_ops); dst_entries_destroy(&net->ipv6.ip6_dst_ops);
@@ -6415,6 +6464,9 @@ void __init ip6_route_init_special_entri @@ -6418,6 +6467,9 @@ void __init ip6_route_init_special_entri
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev; init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);

View File

@ -18,7 +18,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
--- a/net/dsa/slave.c --- a/net/dsa/slave.c
+++ b/net/dsa/slave.c +++ b/net/dsa/slave.c
@@ -2194,10 +2194,12 @@ static int dsa_slave_switchdev_event(str @@ -2192,10 +2192,12 @@ static int dsa_slave_switchdev_event(str
fdb_info = ptr; fdb_info = ptr;
if (dsa_slave_dev_check(dev)) { if (dsa_slave_dev_check(dev)) {

View File

@ -15,7 +15,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
--- a/net/dsa/slave.c --- a/net/dsa/slave.c
+++ b/net/dsa/slave.c +++ b/net/dsa/slave.c
@@ -2208,7 +2208,11 @@ static int dsa_slave_switchdev_event(str @@ -2206,7 +2206,11 @@ static int dsa_slave_switchdev_event(str
struct net_device *br_dev; struct net_device *br_dev;
struct dsa_slave_priv *p; struct dsa_slave_priv *p;

View File

@ -28,7 +28,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
--- a/net/dsa/slave.c --- a/net/dsa/slave.c
+++ b/net/dsa/slave.c +++ b/net/dsa/slave.c
@@ -2201,9 +2201,12 @@ static int dsa_slave_switchdev_event(str @@ -2199,9 +2199,12 @@ static int dsa_slave_switchdev_event(str
else if (!fdb_info->added_by_user) else if (!fdb_info->added_by_user)
return NOTIFY_OK; return NOTIFY_OK;
} else { } else {
@ -44,7 +44,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
*/ */
struct net_device *br_dev; struct net_device *br_dev;
struct dsa_slave_priv *p; struct dsa_slave_priv *p;
@@ -2225,7 +2228,8 @@ static int dsa_slave_switchdev_event(str @@ -2223,7 +2226,8 @@ static int dsa_slave_switchdev_event(str
dp = p->dp->cpu_dp; dp = p->dp->cpu_dp;

View File

@ -50,20 +50,14 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
if (err) if (err)
--- a/drivers/bcma/main.c --- a/drivers/bcma/main.c
+++ b/drivers/bcma/main.c +++ b/drivers/bcma/main.c
@@ -236,12 +236,16 @@ EXPORT_SYMBOL(bcma_core_irq); @@ -241,8 +241,10 @@ void bcma_prepare_core(struct bcma_bus *
void bcma_prepare_core(struct bcma_bus *bus, struct bcma_device *core)
{
+ struct device *dev = &core->dev;
+
core->dev.release = bcma_release_core_dev;
core->dev.bus = &bcma_bus_type; core->dev.bus = &bcma_bus_type;
dev_set_name(&core->dev, "bcma%d:%d", bus->num, core->core_index); dev_set_name(&core->dev, "bcma%d:%d", bus->num, core->core_index);
core->dev.parent = bus->dev; core->dev.parent = bus->dev;
- if (bus->dev) - if (bus->dev)
+ if (bus->dev) { + if (bus->dev) {
bcma_of_fill_device(bus->dev, core); bcma_of_fill_device(bus->dev, core);
+ dma_coerce_mask_and_coherent(dev, bus->dev->coherent_dma_mask); + dma_coerce_mask_and_coherent(&core->dev, bus->dev->coherent_dma_mask);
+ } + }
switch (bus->hosttype) { switch (bus->hosttype) {

View File

@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
/* /*
* The Mellanox Tavor device gives false positive parity errors. Mark this * The Mellanox Tavor device gives false positive parity errors. Mark this
* device with a broken_parity_status to allow PCI scanning code to "skip" * device with a broken_parity_status to allow PCI scanning code to "skip"
@@ -3322,6 +3323,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I @@ -3323,6 +3324,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
/* /*
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum. * Ivytown NTB BAR sizes are misreported by the hardware due to an erratum.
* To work around this, query the size it should be configured to by the * To work around this, query the size it should be configured to by the
@@ -3347,6 +3350,8 @@ static void quirk_intel_ntb(struct pci_d @@ -3348,6 +3351,8 @@ static void quirk_intel_ntb(struct pci_d
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb);
@ -51,7 +51,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
/* /*
* Some BIOS implementations leave the Intel GPU interrupts enabled, even * Some BIOS implementations leave the Intel GPU interrupts enabled, even
* though no one is handling them (e.g., if the i915 driver is never * though no one is handling them (e.g., if the i915 driver is never
@@ -3385,6 +3390,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN @@ -3386,6 +3391,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);

View File

@ -98,7 +98,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#endif /* __LINUX_USB_PCI_QUIRKS_H */ #endif /* __LINUX_USB_PCI_QUIRKS_H */
--- a/include/linux/usb/hcd.h --- a/include/linux/usb/hcd.h
+++ b/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h
@@ -484,7 +484,14 @@ extern int usb_hcd_pci_probe(struct pci_ @@ -486,7 +486,14 @@ extern int usb_hcd_pci_probe(struct pci_
extern void usb_hcd_pci_remove(struct pci_dev *dev); extern void usb_hcd_pci_remove(struct pci_dev *dev);
extern void usb_hcd_pci_shutdown(struct pci_dev *dev); extern void usb_hcd_pci_shutdown(struct pci_dev *dev);

View File

@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
/** /**
* ata_build_rw_tf - Build ATA taskfile for given read/write request * ata_build_rw_tf - Build ATA taskfile for given read/write request
* @tf: Target ATA taskfile * @tf: Target ATA taskfile
@@ -4513,6 +4526,9 @@ struct ata_queued_cmd *ata_qc_new_init(s @@ -4517,6 +4530,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
if (tag < 0) if (tag < 0)
return NULL; return NULL;
} }
@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
qc = __ata_qc_from_tag(ap, tag); qc = __ata_qc_from_tag(ap, tag);
qc->tag = qc->hw_tag = tag; qc->tag = qc->hw_tag = tag;
@@ -5291,6 +5307,9 @@ struct ata_port *ata_port_alloc(struct a @@ -5295,6 +5311,9 @@ struct ata_port *ata_port_alloc(struct a
ap->stats.unhandled_irq = 1; ap->stats.unhandled_irq = 1;
ap->stats.idle_irq = 1; ap->stats.idle_irq = 1;
#endif #endif
@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
ata_sff_port_init(ap); ata_sff_port_init(ap);
return ap; return ap;
@@ -5326,6 +5345,12 @@ static void ata_host_release(struct kref @@ -5330,6 +5349,12 @@ static void ata_host_release(struct kref
kfree(ap->pmp_link); kfree(ap->pmp_link);
kfree(ap->slave_link); kfree(ap->slave_link);
@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
kfree(ap); kfree(ap);
host->ports[i] = NULL; host->ports[i] = NULL;
} }
@@ -5732,7 +5757,23 @@ int ata_host_register(struct ata_host *h @@ -5736,7 +5761,23 @@ int ata_host_register(struct ata_host *h
host->ports[i]->print_id = atomic_inc_return(&ata_print_id); host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
host->ports[i]->local_port_no = i + 1; host->ports[i]->local_port_no = i + 1;
} }

View File

@ -63,7 +63,7 @@
val = stmmac_get_platform_resources(pdev, &stmmac_res); val = stmmac_get_platform_resources(pdev, &stmmac_res);
if (val) if (val)
@@ -346,6 +388,17 @@ static int ipq806x_gmac_probe(struct pla @@ -339,6 +381,17 @@ static int ipq806x_gmac_probe(struct pla
0x1ul << QSGMII_PHY_RX_INPUT_EQU_OFFSET | 0x1ul << QSGMII_PHY_RX_INPUT_EQU_OFFSET |
0x2ul << QSGMII_PHY_CDR_PI_SLEW_OFFSET | 0x2ul << QSGMII_PHY_CDR_PI_SLEW_OFFSET |
0xCul << QSGMII_PHY_TX_DRV_AMP_OFFSET); 0xCul << QSGMII_PHY_TX_DRV_AMP_OFFSET);

View File

@ -10,7 +10,7 @@
#define UART_BUG_TXEN (1 << 1) /* UART has buggy TX IIR status */ #define UART_BUG_TXEN (1 << 1) /* UART has buggy TX IIR status */
--- a/drivers/tty/serial/8250/8250_port.c --- a/drivers/tty/serial/8250/8250_port.c
+++ b/drivers/tty/serial/8250/8250_port.c +++ b/drivers/tty/serial/8250/8250_port.c
@@ -287,7 +287,7 @@ static const struct serial8250_config ua @@ -288,7 +288,7 @@ static const struct serial8250_config ua
.tx_loadsz = 16, .tx_loadsz = 16,
.fcr = UART_FCR_ENABLE_FIFO | .fcr = UART_FCR_ENABLE_FIFO |
UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT, UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT,
@ -19,7 +19,7 @@
}, },
[PORT_NPCM] = { [PORT_NPCM] = {
.name = "Nuvoton 16550", .name = "Nuvoton 16550",
@@ -2718,6 +2718,11 @@ serial8250_do_set_termios(struct uart_po @@ -2719,6 +2719,11 @@ serial8250_do_set_termios(struct uart_po
unsigned long flags; unsigned long flags;
unsigned int baud, quot, frac = 0; unsigned int baud, quot, frac = 0;

View File

@ -15,7 +15,7 @@
/* initialize internal qc */ /* initialize internal qc */
qc = __ata_qc_from_tag(ap, ATA_TAG_INTERNAL); qc = __ata_qc_from_tag(ap, ATA_TAG_INTERNAL);
@@ -4520,6 +4528,9 @@ struct ata_queued_cmd *ata_qc_new_init(s @@ -4524,6 +4532,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
if (unlikely(ap->pflags & ATA_PFLAG_FROZEN)) if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
return NULL; return NULL;
@ -25,7 +25,7 @@
/* libsas case */ /* libsas case */
if (ap->flags & ATA_FLAG_SAS_HOST) { if (ap->flags & ATA_FLAG_SAS_HOST) {
tag = ata_sas_allocate_tag(ap); tag = ata_sas_allocate_tag(ap);
@@ -4565,6 +4576,8 @@ void ata_qc_free(struct ata_queued_cmd * @@ -4569,6 +4580,8 @@ void ata_qc_free(struct ata_queued_cmd *
qc->tag = ATA_TAG_POISON; qc->tag = ATA_TAG_POISON;
if (ap->flags & ATA_FLAG_SAS_HOST) if (ap->flags & ATA_FLAG_SAS_HOST)
ata_sas_free_tag(tag, ap); ata_sas_free_tag(tag, ap);