mirror of https://github.com/hak5/openwrt-owl.git
kernel: bump 4.9 to 4.9.137
Refreshed all patches. Removed upstreamed hunks in: - 703-phy-support-layerscape.patch Compile-tested on: ar71xx, layerscape Runtime-tested on: ar71xx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>master
parent
f7a406deaf
commit
7e20e4ab96
|
@ -3,11 +3,11 @@
|
||||||
LINUX_RELEASE?=1
|
LINUX_RELEASE?=1
|
||||||
|
|
||||||
LINUX_VERSION-3.18 = .125
|
LINUX_VERSION-3.18 = .125
|
||||||
LINUX_VERSION-4.9 = .135
|
LINUX_VERSION-4.9 = .137
|
||||||
LINUX_VERSION-4.14 = .80
|
LINUX_VERSION-4.14 = .80
|
||||||
|
|
||||||
LINUX_KERNEL_HASH-3.18.125 = 708433b360efd8623f7303b721ffb0e7c59cbe8552f1a3f4c0d980a12b4ed90e
|
LINUX_KERNEL_HASH-3.18.125 = 708433b360efd8623f7303b721ffb0e7c59cbe8552f1a3f4c0d980a12b4ed90e
|
||||||
LINUX_KERNEL_HASH-4.9.135 = e023b0bbe9ea7fc56aa57210342dd18ea3e0900ee207226df1523c6d7df154ce
|
LINUX_KERNEL_HASH-4.9.137 = 6db2512a9094bf4c830124641d1275635600b052962a7db3556da18914ea2589
|
||||||
LINUX_KERNEL_HASH-4.14.80 = 9ddc7bc11cbea6475ac5abf18e01a143d7d506bece591e0dcb15c9452d3ed7d2
|
LINUX_KERNEL_HASH-4.14.80 = 9ddc7bc11cbea6475ac5abf18e01a143d7d506bece591e0dcb15c9452d3ed7d2
|
||||||
|
|
||||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||||
|
|
|
@ -23,7 +23,7 @@ Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||||
|
|
||||||
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
||||||
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
||||||
@@ -132,6 +132,209 @@
|
@@ -137,6 +137,209 @@
|
||||||
|
|
||||||
interrupt-controller;
|
interrupt-controller;
|
||||||
#interrupt-cells = <2>;
|
#interrupt-cells = <2>;
|
||||||
|
|
|
@ -51,7 +51,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||||
+};
|
+};
|
||||||
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
||||||
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
||||||
@@ -390,6 +390,13 @@
|
@@ -395,6 +395,13 @@
|
||||||
interrupts = <2 14>; /* pwa1 */
|
interrupts = <2 14>; /* pwa1 */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||||
|
|
||||||
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
||||||
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
||||||
@@ -476,6 +476,14 @@
|
@@ -481,6 +481,14 @@
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
|
||||||
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
||||||
u32 *data, int in_pm)
|
u32 *data, int in_pm)
|
||||||
{
|
{
|
||||||
@@ -1951,7 +1955,8 @@ static int smsc95xx_rx_fixup(struct usbn
|
@@ -1954,7 +1958,8 @@ static int smsc95xx_rx_fixup(struct usbn
|
||||||
if (dev->net->features & NETIF_F_RXCSUM)
|
if (dev->net->features & NETIF_F_RXCSUM)
|
||||||
smsc95xx_rx_csum_offload(skb);
|
smsc95xx_rx_csum_offload(skb);
|
||||||
skb_trim(skb, skb->len - 4); /* remove fcs */
|
skb_trim(skb, skb->len - 4); /* remove fcs */
|
||||||
|
@ -35,7 +35,7 @@ Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@@ -1969,7 +1974,8 @@ static int smsc95xx_rx_fixup(struct usbn
|
@@ -1972,7 +1977,8 @@ static int smsc95xx_rx_fixup(struct usbn
|
||||||
if (dev->net->features & NETIF_F_RXCSUM)
|
if (dev->net->features & NETIF_F_RXCSUM)
|
||||||
smsc95xx_rx_csum_offload(ax_skb);
|
smsc95xx_rx_csum_offload(ax_skb);
|
||||||
skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */
|
skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */
|
||||||
|
|
|
@ -22,7 +22,7 @@ See: http://forum.kodi.tv/showthread.php?tid=285288
|
||||||
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
||||||
u32 *data, int in_pm)
|
u32 *data, int in_pm)
|
||||||
{
|
{
|
||||||
@@ -1106,13 +1110,13 @@ static int smsc95xx_reset(struct usbnet
|
@@ -1109,13 +1113,13 @@ static int smsc95xx_reset(struct usbnet
|
||||||
|
|
||||||
if (!turbo_mode) {
|
if (!turbo_mode) {
|
||||||
burst_cap = 0;
|
burst_cap = 0;
|
||||||
|
|
|
@ -29,7 +29,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
|
||||||
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
||||||
u32 *data, int in_pm)
|
u32 *data, int in_pm)
|
||||||
{
|
{
|
||||||
@@ -918,6 +923,53 @@ static int smsc95xx_ioctl(struct net_dev
|
@@ -921,6 +926,53 @@ static int smsc95xx_ioctl(struct net_dev
|
||||||
return generic_mii_ioctl(&dev->mii, if_mii(rq), cmd, NULL);
|
return generic_mii_ioctl(&dev->mii, if_mii(rq), cmd, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,7 +83,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
|
||||||
static void smsc95xx_init_mac_address(struct usbnet *dev)
|
static void smsc95xx_init_mac_address(struct usbnet *dev)
|
||||||
{
|
{
|
||||||
const u8 *mac_addr;
|
const u8 *mac_addr;
|
||||||
@@ -939,6 +991,10 @@ static void smsc95xx_init_mac_address(st
|
@@ -942,6 +994,10 @@ static void smsc95xx_init_mac_address(st
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -70,7 +70,7 @@ Reviewed-by: Eric Anholt <eric@anholt.net>
|
||||||
}
|
}
|
||||||
|
|
||||||
if (val & BCM2835_I2C_S_DONE) {
|
if (val & BCM2835_I2C_S_DONE) {
|
||||||
@@ -137,21 +141,38 @@ static irqreturn_t bcm2835_i2c_isr(int t
|
@@ -139,21 +143,38 @@ static irqreturn_t bcm2835_i2c_isr(int t
|
||||||
i2c_dev->msg_err = BCM2835_I2C_S_LEN;
|
i2c_dev->msg_err = BCM2835_I2C_S_LEN;
|
||||||
else
|
else
|
||||||
i2c_dev->msg_err = 0;
|
i2c_dev->msg_err = 0;
|
||||||
|
@ -111,7 +111,7 @@ Reviewed-by: Eric Anholt <eric@anholt.net>
|
||||||
}
|
}
|
||||||
|
|
||||||
static int bcm2835_i2c_xfer_msg(struct bcm2835_i2c_dev *i2c_dev,
|
static int bcm2835_i2c_xfer_msg(struct bcm2835_i2c_dev *i2c_dev,
|
||||||
@@ -181,8 +202,9 @@ static int bcm2835_i2c_xfer_msg(struct b
|
@@ -183,8 +204,9 @@ static int bcm2835_i2c_xfer_msg(struct b
|
||||||
|
|
||||||
time_left = wait_for_completion_timeout(&i2c_dev->completion,
|
time_left = wait_for_completion_timeout(&i2c_dev->completion,
|
||||||
BCM2835_I2C_TIMEOUT);
|
BCM2835_I2C_TIMEOUT);
|
||||||
|
|
|
@ -21,7 +21,7 @@ Reviewed-by: Eric Anholt <eric@anholt.net>
|
||||||
|
|
||||||
--- a/drivers/i2c/busses/i2c-bcm2835.c
|
--- a/drivers/i2c/busses/i2c-bcm2835.c
|
||||||
+++ b/drivers/i2c/busses/i2c-bcm2835.c
|
+++ b/drivers/i2c/busses/i2c-bcm2835.c
|
||||||
@@ -216,7 +216,7 @@ static int bcm2835_i2c_xfer_msg(struct b
|
@@ -218,7 +218,7 @@ static int bcm2835_i2c_xfer_msg(struct b
|
||||||
(msg->flags & I2C_M_IGNORE_NAK))
|
(msg->flags & I2C_M_IGNORE_NAK))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ Reviewed-by: Eric Anholt <eric@anholt.net>
|
||||||
|
|
||||||
--- a/drivers/i2c/busses/i2c-bcm2835.c
|
--- a/drivers/i2c/busses/i2c-bcm2835.c
|
||||||
+++ b/drivers/i2c/busses/i2c-bcm2835.c
|
+++ b/drivers/i2c/busses/i2c-bcm2835.c
|
||||||
@@ -212,10 +212,6 @@ static int bcm2835_i2c_xfer_msg(struct b
|
@@ -214,10 +214,6 @@ static int bcm2835_i2c_xfer_msg(struct b
|
||||||
if (likely(!i2c_dev->msg_err))
|
if (likely(!i2c_dev->msg_err))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|
|
@ -86,7 +86,7 @@ Acked-by: Eric Anholt <eric@anholt.net>
|
||||||
* Note about I2C_C_CLEAR on error:
|
* Note about I2C_C_CLEAR on error:
|
||||||
* The I2C_C_CLEAR on errors will take some time to resolve -- if you were in
|
* The I2C_C_CLEAR on errors will take some time to resolve -- if you were in
|
||||||
* non-idle state and I2C_C_READ, it sets an abort_rx flag and runs through
|
* non-idle state and I2C_C_READ, it sets an abort_rx flag and runs through
|
||||||
@@ -151,6 +191,12 @@ static irqreturn_t bcm2835_i2c_isr(int t
|
@@ -153,6 +193,12 @@ static irqreturn_t bcm2835_i2c_isr(int t
|
||||||
}
|
}
|
||||||
|
|
||||||
bcm2835_fill_txfifo(i2c_dev);
|
bcm2835_fill_txfifo(i2c_dev);
|
||||||
|
@ -99,7 +99,7 @@ Acked-by: Eric Anholt <eric@anholt.net>
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -175,30 +221,25 @@ complete:
|
@@ -177,30 +223,25 @@ complete:
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -144,7 +144,7 @@ Acked-by: Eric Anholt <eric@anholt.net>
|
||||||
|
|
||||||
time_left = wait_for_completion_timeout(&i2c_dev->completion,
|
time_left = wait_for_completion_timeout(&i2c_dev->completion,
|
||||||
BCM2835_I2C_TIMEOUT);
|
BCM2835_I2C_TIMEOUT);
|
||||||
@@ -209,31 +250,15 @@ static int bcm2835_i2c_xfer_msg(struct b
|
@@ -211,31 +252,15 @@ static int bcm2835_i2c_xfer_msg(struct b
|
||||||
return -ETIMEDOUT;
|
return -ETIMEDOUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ Reviewed-by: Eric Anholt <eric@anholt.net>
|
||||||
struct bcm2835_i2c_dev {
|
struct bcm2835_i2c_dev {
|
||||||
struct device *dev;
|
struct device *dev;
|
||||||
void __iomem *regs;
|
void __iomem *regs;
|
||||||
@@ -242,7 +240,7 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
@@ -244,7 +242,7 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
||||||
bcm2835_i2c_start_transfer(i2c_dev);
|
bcm2835_i2c_start_transfer(i2c_dev);
|
||||||
|
|
||||||
time_left = wait_for_completion_timeout(&i2c_dev->completion,
|
time_left = wait_for_completion_timeout(&i2c_dev->completion,
|
||||||
|
|
|
@ -56,7 +56,7 @@ Reviewed-by: Martin Sperl <kernel@martin.sperl.org>
|
||||||
static void bcm2835_fill_txfifo(struct bcm2835_i2c_dev *i2c_dev)
|
static void bcm2835_fill_txfifo(struct bcm2835_i2c_dev *i2c_dev)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
@@ -224,7 +249,7 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
@@ -226,7 +251,7 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
||||||
{
|
{
|
||||||
struct bcm2835_i2c_dev *i2c_dev = i2c_get_adapdata(adap);
|
struct bcm2835_i2c_dev *i2c_dev = i2c_get_adapdata(adap);
|
||||||
unsigned long time_left;
|
unsigned long time_left;
|
||||||
|
@ -65,7 +65,7 @@ Reviewed-by: Martin Sperl <kernel@martin.sperl.org>
|
||||||
|
|
||||||
for (i = 0; i < (num - 1); i++)
|
for (i = 0; i < (num - 1); i++)
|
||||||
if (msgs[i].flags & I2C_M_RD) {
|
if (msgs[i].flags & I2C_M_RD) {
|
||||||
@@ -233,6 +258,10 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
@@ -235,6 +260,10 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ Reviewed-by: Martin Sperl <kernel@martin.sperl.org>
|
||||||
i2c_dev->curr_msg = msgs;
|
i2c_dev->curr_msg = msgs;
|
||||||
i2c_dev->num_msgs = num;
|
i2c_dev->num_msgs = num;
|
||||||
reinit_completion(&i2c_dev->completion);
|
reinit_completion(&i2c_dev->completion);
|
||||||
@@ -282,7 +311,6 @@ static int bcm2835_i2c_probe(struct plat
|
@@ -284,7 +313,6 @@ static int bcm2835_i2c_probe(struct plat
|
||||||
{
|
{
|
||||||
struct bcm2835_i2c_dev *i2c_dev;
|
struct bcm2835_i2c_dev *i2c_dev;
|
||||||
struct resource *mem, *irq;
|
struct resource *mem, *irq;
|
||||||
|
@ -84,7 +84,7 @@ Reviewed-by: Martin Sperl <kernel@martin.sperl.org>
|
||||||
int ret;
|
int ret;
|
||||||
struct i2c_adapter *adap;
|
struct i2c_adapter *adap;
|
||||||
|
|
||||||
@@ -306,28 +334,13 @@ static int bcm2835_i2c_probe(struct plat
|
@@ -308,28 +336,13 @@ static int bcm2835_i2c_probe(struct plat
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = of_property_read_u32(pdev->dev.of_node, "clock-frequency",
|
ret = of_property_read_u32(pdev->dev.of_node, "clock-frequency",
|
||||||
|
|
|
@ -151,7 +151,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||||
|
|
||||||
err = val & (BCM2835_I2C_S_CLKT | BCM2835_I2C_S_ERR);
|
err = val & (BCM2835_I2C_S_CLKT | BCM2835_I2C_S_ERR);
|
||||||
if (err) {
|
if (err) {
|
||||||
@@ -251,6 +335,13 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
@@ -253,6 +337,13 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
||||||
unsigned long time_left;
|
unsigned long time_left;
|
||||||
int i, ret;
|
int i, ret;
|
||||||
|
|
||||||
|
@ -165,7 +165,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||||
for (i = 0; i < (num - 1); i++)
|
for (i = 0; i < (num - 1); i++)
|
||||||
if (msgs[i].flags & I2C_M_RD) {
|
if (msgs[i].flags & I2C_M_RD) {
|
||||||
dev_warn_once(i2c_dev->dev,
|
dev_warn_once(i2c_dev->dev,
|
||||||
@@ -270,6 +361,10 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
@@ -272,6 +363,10 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
||||||
|
|
||||||
time_left = wait_for_completion_timeout(&i2c_dev->completion,
|
time_left = wait_for_completion_timeout(&i2c_dev->completion,
|
||||||
adap->timeout);
|
adap->timeout);
|
||||||
|
@ -176,7 +176,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||||
if (!time_left) {
|
if (!time_left) {
|
||||||
bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C,
|
bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C,
|
||||||
BCM2835_I2C_C_CLEAR);
|
BCM2835_I2C_C_CLEAR);
|
||||||
@@ -280,7 +375,9 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
@@ -282,7 +377,9 @@ static int bcm2835_i2c_xfer(struct i2c_a
|
||||||
if (!i2c_dev->msg_err)
|
if (!i2c_dev->msg_err)
|
||||||
return num;
|
return num;
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||||
|
|
||||||
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
||||||
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
||||||
@@ -366,6 +366,7 @@
|
@@ -371,6 +371,7 @@
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
|
|
@ -28,7 +28,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||||
+};
|
+};
|
||||||
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
||||||
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
||||||
@@ -93,10 +93,13 @@
|
@@ -98,10 +98,13 @@
|
||||||
#clock-cells = <1>;
|
#clock-cells = <1>;
|
||||||
reg = <0x7e101000 0x2000>;
|
reg = <0x7e101000 0x2000>;
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||||
};
|
};
|
||||||
|
|
||||||
rng@7e104000 {
|
rng@7e104000 {
|
||||||
@@ -398,6 +401,26 @@
|
@@ -403,6 +406,26 @@
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||||
aux: aux@0x7e215000 {
|
aux: aux@0x7e215000 {
|
||||||
compatible = "brcm,bcm2835-aux";
|
compatible = "brcm,bcm2835-aux";
|
||||||
#clock-cells = <1>;
|
#clock-cells = <1>;
|
||||||
@@ -457,6 +480,26 @@
|
@@ -462,6 +485,26 @@
|
||||||
interrupts = <2 1>;
|
interrupts = <2 1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -285,7 +285,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||||
if (err)
|
if (err)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1458,7 +1495,8 @@ br_multicast_leave_group(struct net_brid
|
@@ -1465,7 +1502,8 @@ br_multicast_leave_group(struct net_brid
|
||||||
struct net_bridge_port *port,
|
struct net_bridge_port *port,
|
||||||
struct br_ip *group,
|
struct br_ip *group,
|
||||||
struct bridge_mcast_other_query *other_query,
|
struct bridge_mcast_other_query *other_query,
|
||||||
|
@ -295,7 +295,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||||
{
|
{
|
||||||
struct net_bridge_mdb_htable *mdb;
|
struct net_bridge_mdb_htable *mdb;
|
||||||
struct net_bridge_mdb_entry *mp;
|
struct net_bridge_mdb_entry *mp;
|
||||||
@@ -1482,7 +1520,7 @@ br_multicast_leave_group(struct net_brid
|
@@ -1489,7 +1527,7 @@ br_multicast_leave_group(struct net_brid
|
||||||
for (pp = &mp->ports;
|
for (pp = &mp->ports;
|
||||||
(p = mlock_dereference(*pp, br)) != NULL;
|
(p = mlock_dereference(*pp, br)) != NULL;
|
||||||
pp = &p->next) {
|
pp = &p->next) {
|
||||||
|
@ -304,7 +304,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
rcu_assign_pointer(*pp, p->next);
|
rcu_assign_pointer(*pp, p->next);
|
||||||
@@ -1513,7 +1551,7 @@ br_multicast_leave_group(struct net_brid
|
@@ -1520,7 +1558,7 @@ br_multicast_leave_group(struct net_brid
|
||||||
for (p = mlock_dereference(mp->ports, br);
|
for (p = mlock_dereference(mp->ports, br);
|
||||||
p != NULL;
|
p != NULL;
|
||||||
p = mlock_dereference(p->next, br)) {
|
p = mlock_dereference(p->next, br)) {
|
||||||
|
@ -313,7 +313,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (!hlist_unhashed(&p->mglist) &&
|
if (!hlist_unhashed(&p->mglist) &&
|
||||||
@@ -1564,7 +1602,8 @@ out:
|
@@ -1571,7 +1609,8 @@ out:
|
||||||
static void br_ip4_multicast_leave_group(struct net_bridge *br,
|
static void br_ip4_multicast_leave_group(struct net_bridge *br,
|
||||||
struct net_bridge_port *port,
|
struct net_bridge_port *port,
|
||||||
__be32 group,
|
__be32 group,
|
||||||
|
@ -323,7 +323,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||||
{
|
{
|
||||||
struct br_ip br_group;
|
struct br_ip br_group;
|
||||||
struct bridge_mcast_own_query *own_query;
|
struct bridge_mcast_own_query *own_query;
|
||||||
@@ -1579,14 +1618,15 @@ static void br_ip4_multicast_leave_group
|
@@ -1586,14 +1625,15 @@ static void br_ip4_multicast_leave_group
|
||||||
br_group.vid = vid;
|
br_group.vid = vid;
|
||||||
|
|
||||||
br_multicast_leave_group(br, port, &br_group, &br->ip4_other_query,
|
br_multicast_leave_group(br, port, &br_group, &br->ip4_other_query,
|
||||||
|
@ -341,7 +341,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||||
{
|
{
|
||||||
struct br_ip br_group;
|
struct br_ip br_group;
|
||||||
struct bridge_mcast_own_query *own_query;
|
struct bridge_mcast_own_query *own_query;
|
||||||
@@ -1601,7 +1641,7 @@ static void br_ip6_multicast_leave_group
|
@@ -1608,7 +1648,7 @@ static void br_ip6_multicast_leave_group
|
||||||
br_group.vid = vid;
|
br_group.vid = vid;
|
||||||
|
|
||||||
br_multicast_leave_group(br, port, &br_group, &br->ip6_other_query,
|
br_multicast_leave_group(br, port, &br_group, &br->ip6_other_query,
|
||||||
|
@ -350,7 +350,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -1644,6 +1684,7 @@ static int br_multicast_ipv4_rcv(struct
|
@@ -1651,6 +1691,7 @@ static int br_multicast_ipv4_rcv(struct
|
||||||
u16 vid)
|
u16 vid)
|
||||||
{
|
{
|
||||||
struct sk_buff *skb_trimmed = NULL;
|
struct sk_buff *skb_trimmed = NULL;
|
||||||
|
@ -358,7 +358,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||||
struct igmphdr *ih;
|
struct igmphdr *ih;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
@@ -1659,13 +1700,14 @@ static int br_multicast_ipv4_rcv(struct
|
@@ -1666,13 +1707,14 @@ static int br_multicast_ipv4_rcv(struct
|
||||||
}
|
}
|
||||||
|
|
||||||
ih = igmp_hdr(skb);
|
ih = igmp_hdr(skb);
|
||||||
|
@ -374,7 +374,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||||
break;
|
break;
|
||||||
case IGMPV3_HOST_MEMBERSHIP_REPORT:
|
case IGMPV3_HOST_MEMBERSHIP_REPORT:
|
||||||
err = br_ip4_multicast_igmp3_report(br, port, skb_trimmed, vid);
|
err = br_ip4_multicast_igmp3_report(br, port, skb_trimmed, vid);
|
||||||
@@ -1674,7 +1716,7 @@ static int br_multicast_ipv4_rcv(struct
|
@@ -1681,7 +1723,7 @@ static int br_multicast_ipv4_rcv(struct
|
||||||
err = br_ip4_multicast_query(br, port, skb_trimmed, vid);
|
err = br_ip4_multicast_query(br, port, skb_trimmed, vid);
|
||||||
break;
|
break;
|
||||||
case IGMP_HOST_LEAVE_MESSAGE:
|
case IGMP_HOST_LEAVE_MESSAGE:
|
||||||
|
@ -383,7 +383,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1694,6 +1736,7 @@ static int br_multicast_ipv6_rcv(struct
|
@@ -1701,6 +1743,7 @@ static int br_multicast_ipv6_rcv(struct
|
||||||
u16 vid)
|
u16 vid)
|
||||||
{
|
{
|
||||||
struct sk_buff *skb_trimmed = NULL;
|
struct sk_buff *skb_trimmed = NULL;
|
||||||
|
@ -391,7 +391,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||||
struct mld_msg *mld;
|
struct mld_msg *mld;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
@@ -1713,8 +1756,10 @@ static int br_multicast_ipv6_rcv(struct
|
@@ -1720,8 +1763,10 @@ static int br_multicast_ipv6_rcv(struct
|
||||||
|
|
||||||
switch (mld->mld_type) {
|
switch (mld->mld_type) {
|
||||||
case ICMPV6_MGM_REPORT:
|
case ICMPV6_MGM_REPORT:
|
||||||
|
@ -403,7 +403,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
|
||||||
break;
|
break;
|
||||||
case ICMPV6_MLD2_REPORT:
|
case ICMPV6_MLD2_REPORT:
|
||||||
err = br_ip6_multicast_mld2_report(br, port, skb_trimmed, vid);
|
err = br_ip6_multicast_mld2_report(br, port, skb_trimmed, vid);
|
||||||
@@ -1723,7 +1768,8 @@ static int br_multicast_ipv6_rcv(struct
|
@@ -1730,7 +1775,8 @@ static int br_multicast_ipv6_rcv(struct
|
||||||
err = br_ip6_multicast_query(br, port, skb_trimmed, vid);
|
err = br_ip6_multicast_query(br, port, skb_trimmed, vid);
|
||||||
break;
|
break;
|
||||||
case ICMPV6_MGM_REDUCTION:
|
case ICMPV6_MGM_REDUCTION:
|
||||||
|
|
|
@ -18,7 +18,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||||
|
|
||||||
--- a/drivers/net/usb/smsc95xx.c
|
--- a/drivers/net/usb/smsc95xx.c
|
||||||
+++ b/drivers/net/usb/smsc95xx.c
|
+++ b/drivers/net/usb/smsc95xx.c
|
||||||
@@ -2001,13 +2001,13 @@ static struct sk_buff *smsc95xx_tx_fixup
|
@@ -2004,13 +2004,13 @@ static struct sk_buff *smsc95xx_tx_fixup
|
||||||
/* We do not advertise SG, so skbs should be already linearized */
|
/* We do not advertise SG, so skbs should be already linearized */
|
||||||
BUG_ON(skb_shinfo(skb)->nr_frags);
|
BUG_ON(skb_shinfo(skb)->nr_frags);
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||||
|
|
||||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||||
@@ -872,6 +872,7 @@ static const struct flash_info spi_nor_i
|
@@ -878,6 +878,7 @@ static const struct flash_info spi_nor_i
|
||||||
{ "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) },
|
{ "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) },
|
||||||
{ "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) },
|
{ "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) },
|
||||||
{ "mx25l25635e", INFO(0xc22019, 0, 64 * 1024, 512, 0) },
|
{ "mx25l25635e", INFO(0xc22019, 0, 64 * 1024, 512, 0) },
|
||||||
|
|
|
@ -26,7 +26,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||||
|
|
||||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||||
@@ -1263,6 +1263,13 @@ static int spansion_quad_enable(struct s
|
@@ -1269,6 +1269,13 @@ static int spansion_quad_enable(struct s
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||||
|
|
||||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||||
@@ -906,7 +906,7 @@ static const struct flash_info spi_nor_i
|
@@ -912,7 +912,7 @@ static const struct flash_info spi_nor_i
|
||||||
{ "s70fl01gs", INFO(0x010221, 0x4d00, 256 * 1024, 256, 0) },
|
{ "s70fl01gs", INFO(0x010221, 0x4d00, 256 * 1024, 256, 0) },
|
||||||
{ "s25sl12800", INFO(0x012018, 0x0300, 256 * 1024, 64, 0) },
|
{ "s25sl12800", INFO(0x012018, 0x0300, 256 * 1024, 64, 0) },
|
||||||
{ "s25sl12801", INFO(0x012018, 0x0301, 64 * 1024, 256, 0) },
|
{ "s25sl12801", INFO(0x012018, 0x0301, 64 * 1024, 256, 0) },
|
||||||
|
|
|
@ -13,7 +13,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||||
|
|
||||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||||
@@ -922,6 +922,7 @@ static const struct flash_info spi_nor_i
|
@@ -928,6 +928,7 @@ static const struct flash_info spi_nor_i
|
||||||
{ "s25fl132k", INFO(0x014016, 0, 64 * 1024, 64, SECT_4K) },
|
{ "s25fl132k", INFO(0x014016, 0, 64 * 1024, 64, SECT_4K) },
|
||||||
{ "s25fl164k", INFO(0x014017, 0, 64 * 1024, 128, SECT_4K) },
|
{ "s25fl164k", INFO(0x014017, 0, 64 * 1024, 128, SECT_4K) },
|
||||||
{ "s25fl204k", INFO(0x014013, 0, 64 * 1024, 8, SECT_4K | SPI_NOR_DUAL_READ) },
|
{ "s25fl204k", INFO(0x014013, 0, 64 * 1024, 8, SECT_4K | SPI_NOR_DUAL_READ) },
|
||||||
|
|
|
@ -19,7 +19,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||||
|
|
||||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||||
@@ -879,6 +879,7 @@ static const struct flash_info spi_nor_i
|
@@ -885,6 +885,7 @@ static const struct flash_info spi_nor_i
|
||||||
{ "mx66l1g55g", INFO(0xc2261b, 0, 64 * 1024, 2048, SPI_NOR_QUAD_READ) },
|
{ "mx66l1g55g", INFO(0xc2261b, 0, 64 * 1024, 2048, SPI_NOR_QUAD_READ) },
|
||||||
|
|
||||||
/* Micron */
|
/* Micron */
|
||||||
|
|
|
@ -140,7 +140,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||||
/* NOTE: double check command sets and memory organization when you add
|
/* NOTE: double check command sets and memory organization when you add
|
||||||
* more nor chips. This current list focusses on newer chips, which
|
* more nor chips. This current list focusses on newer chips, which
|
||||||
* have been converging on command sets which including JEDEC ID.
|
* have been converging on command sets which including JEDEC ID.
|
||||||
@@ -1014,6 +1073,13 @@ static const struct flash_info spi_nor_i
|
@@ -1020,6 +1079,13 @@ static const struct flash_info spi_nor_i
|
||||||
{ "cat25c09", CAT25_INFO( 128, 8, 32, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
|
{ "cat25c09", CAT25_INFO( 128, 8, 32, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
|
||||||
{ "cat25c17", CAT25_INFO( 256, 8, 32, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
|
{ "cat25c17", CAT25_INFO( 256, 8, 32, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
|
||||||
{ "cat25128", CAT25_INFO(2048, 8, 64, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
|
{ "cat25128", CAT25_INFO(2048, 8, 64, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
|
||||||
|
@ -154,7 +154,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||||
{ },
|
{ },
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1054,7 +1120,12 @@ static int spi_nor_read(struct mtd_info
|
@@ -1060,7 +1126,12 @@ static int spi_nor_read(struct mtd_info
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
while (len) {
|
while (len) {
|
||||||
|
@ -168,7 +168,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
/* We shouldn't see 0-length reads */
|
/* We shouldn't see 0-length reads */
|
||||||
ret = -EIO;
|
ret = -EIO;
|
||||||
@@ -1175,8 +1246,23 @@ static int spi_nor_write(struct mtd_info
|
@@ -1181,8 +1252,23 @@ static int spi_nor_write(struct mtd_info
|
||||||
|
|
||||||
for (i = 0; i < len; ) {
|
for (i = 0; i < len; ) {
|
||||||
ssize_t written;
|
ssize_t written;
|
||||||
|
@ -193,7 +193,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||||
WARN_ONCE(page_offset,
|
WARN_ONCE(page_offset,
|
||||||
"Writing at offset %zu into a NOR page. Writing partial pages may decrease reliability and increase wear of NOR flash.",
|
"Writing at offset %zu into a NOR page. Writing partial pages may decrease reliability and increase wear of NOR flash.",
|
||||||
page_offset);
|
page_offset);
|
||||||
@@ -1184,8 +1270,11 @@ static int spi_nor_write(struct mtd_info
|
@@ -1190,8 +1276,11 @@ static int spi_nor_write(struct mtd_info
|
||||||
page_remain = min_t(size_t,
|
page_remain = min_t(size_t,
|
||||||
nor->page_size - page_offset, len - i);
|
nor->page_size - page_offset, len - i);
|
||||||
|
|
||||||
|
@ -206,7 +206,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto write_err;
|
goto write_err;
|
||||||
written = ret;
|
written = ret;
|
||||||
@@ -1319,6 +1408,47 @@ static int spi_nor_check(struct spi_nor
|
@@ -1325,6 +1414,47 @@ static int spi_nor_check(struct spi_nor
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -254,7 +254,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||||
int spi_nor_scan(struct spi_nor *nor, const char *name, enum read_mode mode)
|
int spi_nor_scan(struct spi_nor *nor, const char *name, enum read_mode mode)
|
||||||
{
|
{
|
||||||
const struct flash_info *info = NULL;
|
const struct flash_info *info = NULL;
|
||||||
@@ -1367,6 +1497,14 @@ int spi_nor_scan(struct spi_nor *nor, co
|
@@ -1373,6 +1503,14 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||||
mutex_init(&nor->lock);
|
mutex_init(&nor->lock);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -269,7 +269,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||||
* Atmel, SST, Intel/Numonyx, and others serial NOR tend to power up
|
* Atmel, SST, Intel/Numonyx, and others serial NOR tend to power up
|
||||||
* with the software protection bits set
|
* with the software protection bits set
|
||||||
*/
|
*/
|
||||||
@@ -1524,6 +1662,12 @@ int spi_nor_scan(struct spi_nor *nor, co
|
@@ -1530,6 +1668,12 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||||
|
|
||||||
nor->read_dummy = spi_nor_read_dummy_cycles(nor);
|
nor->read_dummy = spi_nor_read_dummy_cycles(nor);
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ Acked-by: Marek Vasut <marek.vasut@gmail.com>
|
||||||
|
|
||||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||||
@@ -1305,6 +1305,9 @@ static int macronix_quad_enable(struct s
|
@@ -1311,6 +1311,9 @@ static int macronix_quad_enable(struct s
|
||||||
val = read_sr(nor);
|
val = read_sr(nor);
|
||||||
if (val < 0)
|
if (val < 0)
|
||||||
return val;
|
return val;
|
||||||
|
|
|
@ -21,7 +21,7 @@ Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
|
||||||
|
|
||||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||||
@@ -1263,9 +1263,6 @@ static int spi_nor_write(struct mtd_info
|
@@ -1269,9 +1269,6 @@ static int spi_nor_write(struct mtd_info
|
||||||
|
|
||||||
page_offset = do_div(aux, nor->page_size);
|
page_offset = do_div(aux, nor->page_size);
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,7 +95,7 @@ Acked-by: Marek Vasut <marek.vasut@gmail.com>
|
||||||
static struct seq_rw_config stfsm_s25fl_write4_configs[] = {
|
static struct seq_rw_config stfsm_s25fl_write4_configs[] = {
|
||||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||||
@@ -1632,16 +1632,16 @@ int spi_nor_scan(struct spi_nor *nor, co
|
@@ -1638,16 +1638,16 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||||
/* Dedicated 4-byte command set */
|
/* Dedicated 4-byte command set */
|
||||||
switch (nor->flash_read) {
|
switch (nor->flash_read) {
|
||||||
case SPI_NOR_QUAD:
|
case SPI_NOR_QUAD:
|
||||||
|
|
|
@ -116,7 +116,7 @@ Acked-by: Marek Vasut <marek.vasut@gmail.com>
|
||||||
/* Enable/disable 4-byte addressing mode. */
|
/* Enable/disable 4-byte addressing mode. */
|
||||||
static inline int set_4byte(struct spi_nor *nor, const struct flash_info *info,
|
static inline int set_4byte(struct spi_nor *nor, const struct flash_info *info,
|
||||||
int enable)
|
int enable)
|
||||||
@@ -1628,27 +1704,10 @@ int spi_nor_scan(struct spi_nor *nor, co
|
@@ -1634,27 +1710,10 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||||
else if (mtd->size > 0x1000000) {
|
else if (mtd->size > 0x1000000) {
|
||||||
/* enable 4-byte addressing if the device exceeds 16MiB */
|
/* enable 4-byte addressing if the device exceeds 16MiB */
|
||||||
nor->addr_width = 4;
|
nor->addr_width = 4;
|
||||||
|
|
|
@ -18,7 +18,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
|
||||||
|
|
||||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||||
@@ -1017,7 +1017,7 @@ static const struct flash_info spi_nor_i
|
@@ -1023,7 +1023,7 @@ static const struct flash_info spi_nor_i
|
||||||
{ "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) },
|
{ "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) },
|
||||||
{ "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) },
|
{ "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) },
|
||||||
{ "mx25l25635e", INFO(0xc22019, 0, 64 * 1024, 512, 0) },
|
{ "mx25l25635e", INFO(0xc22019, 0, 64 * 1024, 512, 0) },
|
||||||
|
|
|
@ -1040,7 +1040,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||||
writel(irq->mask, adpt->base + EMAC_INT_MASK);
|
writel(irq->mask, adpt->base + EMAC_INT_MASK);
|
||||||
--- a/drivers/net/ethernet/realtek/r8169.c
|
--- a/drivers/net/ethernet/realtek/r8169.c
|
||||||
+++ b/drivers/net/ethernet/realtek/r8169.c
|
+++ b/drivers/net/ethernet/realtek/r8169.c
|
||||||
@@ -7578,7 +7578,7 @@ static int rtl8169_poll(struct napi_stru
|
@@ -7576,7 +7576,7 @@ static int rtl8169_poll(struct napi_stru
|
||||||
}
|
}
|
||||||
|
|
||||||
if (work_done < budget) {
|
if (work_done < budget) {
|
||||||
|
@ -1095,7 +1095,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||||
dma_intr_ena = smsc9420_reg_read(pd, DMAC_INTR_ENA);
|
dma_intr_ena = smsc9420_reg_read(pd, DMAC_INTR_ENA);
|
||||||
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
|
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
|
||||||
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
|
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
|
||||||
@@ -2705,7 +2705,7 @@ static int stmmac_poll(struct napi_struc
|
@@ -2706,7 +2706,7 @@ static int stmmac_poll(struct napi_struc
|
||||||
|
|
||||||
work_done = stmmac_rx(priv, budget);
|
work_done = stmmac_rx(priv, budget);
|
||||||
if (work_done < budget) {
|
if (work_done < budget) {
|
||||||
|
|
|
@ -39,7 +39,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||||
opt->ops.opt_nflen = 8;
|
opt->ops.opt_nflen = 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1187,7 +1187,7 @@ route_lookup:
|
@@ -1199,7 +1199,7 @@ route_lookup:
|
||||||
|
|
||||||
if (encap_limit >= 0) {
|
if (encap_limit >= 0) {
|
||||||
init_tel_txopt(&opt, encap_limit);
|
init_tel_txopt(&opt, encap_limit);
|
||||||
|
@ -47,4 +47,4 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||||
+ ipv6_push_frag_opts(skb, &opt.ops, &proto);
|
+ ipv6_push_frag_opts(skb, &opt.ops, &proto);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Calculate max headroom for all the headers and adjust
|
skb_push(skb, sizeof(struct ipv6hdr));
|
||||||
|
|
|
@ -8,7 +8,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
|
|
||||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||||
@@ -1595,6 +1595,7 @@ int spi_nor_scan(struct spi_nor *nor, co
|
@@ -1601,6 +1601,7 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||||
|
|
||||||
if (JEDEC_MFR(info) == SNOR_MFR_ATMEL ||
|
if (JEDEC_MFR(info) == SNOR_MFR_ATMEL ||
|
||||||
JEDEC_MFR(info) == SNOR_MFR_INTEL ||
|
JEDEC_MFR(info) == SNOR_MFR_INTEL ||
|
||||||
|
|
|
@ -17,7 +17,7 @@ Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||||
|
|
||||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||||
@@ -1597,6 +1597,7 @@ int spi_nor_scan(struct spi_nor *nor, co
|
@@ -1603,6 +1603,7 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||||
JEDEC_MFR(info) == SNOR_MFR_INTEL ||
|
JEDEC_MFR(info) == SNOR_MFR_INTEL ||
|
||||||
JEDEC_MFR(info) == SNOR_MFR_MACRONIX ||
|
JEDEC_MFR(info) == SNOR_MFR_MACRONIX ||
|
||||||
JEDEC_MFR(info) == SNOR_MFR_SST ||
|
JEDEC_MFR(info) == SNOR_MFR_SST ||
|
||||||
|
@ -25,7 +25,7 @@ Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||||
info->flags & SPI_NOR_HAS_LOCK) {
|
info->flags & SPI_NOR_HAS_LOCK) {
|
||||||
write_enable(nor);
|
write_enable(nor);
|
||||||
write_sr(nor, 0);
|
write_sr(nor, 0);
|
||||||
@@ -1615,7 +1616,8 @@ int spi_nor_scan(struct spi_nor *nor, co
|
@@ -1621,7 +1622,8 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||||
|
|
||||||
/* NOR protection support for STmicro/Micron chips and similar */
|
/* NOR protection support for STmicro/Micron chips and similar */
|
||||||
if (JEDEC_MFR(info) == SNOR_MFR_MICRON ||
|
if (JEDEC_MFR(info) == SNOR_MFR_MICRON ||
|
||||||
|
|
|
@ -39,7 +39,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
depends on ARCH_AT91 || (ARM && COMPILE_TEST)
|
depends on ARCH_AT91 || (ARM && COMPILE_TEST)
|
||||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||||
@@ -1642,10 +1642,12 @@ int spi_nor_scan(struct spi_nor *nor, co
|
@@ -1648,10 +1648,12 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||||
|
|
||||||
#ifdef CONFIG_MTD_SPI_NOR_USE_4K_SECTORS
|
#ifdef CONFIG_MTD_SPI_NOR_USE_4K_SECTORS
|
||||||
/* prefer "small sector" erase if possible */
|
/* prefer "small sector" erase if possible */
|
||||||
|
|
|
@ -20,7 +20,7 @@ Changes in v2:
|
||||||
|
|
||||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||||
@@ -1146,6 +1146,11 @@ static const struct flash_info spi_nor_i
|
@@ -1152,6 +1152,11 @@ static const struct flash_info spi_nor_i
|
||||||
SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
|
SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
|
||||||
SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
|
SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
|
||||||
},
|
},
|
||||||
|
|
|
@ -8,7 +8,7 @@ Signed-off-by: André Valentin <avalentin@marcant.net>
|
||||||
|
|
||||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||||
@@ -1014,6 +1014,7 @@ static const struct flash_info spi_nor_i
|
@@ -1020,6 +1020,7 @@ static const struct flash_info spi_nor_i
|
||||||
{ "mx25l3205d", INFO(0xc22016, 0, 64 * 1024, 64, SECT_4K) },
|
{ "mx25l3205d", INFO(0xc22016, 0, 64 * 1024, 64, SECT_4K) },
|
||||||
{ "mx25l3255e", INFO(0xc29e16, 0, 64 * 1024, 64, SECT_4K) },
|
{ "mx25l3255e", INFO(0xc29e16, 0, 64 * 1024, 64, SECT_4K) },
|
||||||
{ "mx25l6405d", INFO(0xc22017, 0, 64 * 1024, 128, SECT_4K) },
|
{ "mx25l6405d", INFO(0xc22017, 0, 64 * 1024, 128, SECT_4K) },
|
||||||
|
|
|
@ -17,7 +17,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||||||
|
|
||||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||||
@@ -1171,6 +1171,10 @@ static const struct flash_info spi_nor_i
|
@@ -1177,6 +1177,10 @@ static const struct flash_info spi_nor_i
|
||||||
{ "3S400AN", S3AN_INFO(0x1f2400, 256, 264) },
|
{ "3S400AN", S3AN_INFO(0x1f2400, 256, 264) },
|
||||||
{ "3S700AN", S3AN_INFO(0x1f2500, 512, 264) },
|
{ "3S700AN", S3AN_INFO(0x1f2500, 512, 264) },
|
||||||
{ "3S1400AN", S3AN_INFO(0x1f2600, 512, 528) },
|
{ "3S1400AN", S3AN_INFO(0x1f2600, 512, 528) },
|
||||||
|
|
|
@ -244,7 +244,7 @@ Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com>
|
||||||
+}
|
+}
|
||||||
--- a/fs/jffs2/super.c
|
--- a/fs/jffs2/super.c
|
||||||
+++ b/fs/jffs2/super.c
|
+++ b/fs/jffs2/super.c
|
||||||
@@ -372,14 +372,41 @@ static int __init init_jffs2_fs(void)
|
@@ -370,14 +370,41 @@ static int __init init_jffs2_fs(void)
|
||||||
BUILD_BUG_ON(sizeof(struct jffs2_raw_inode) != 68);
|
BUILD_BUG_ON(sizeof(struct jffs2_raw_inode) != 68);
|
||||||
BUILD_BUG_ON(sizeof(struct jffs2_raw_summary) != 32);
|
BUILD_BUG_ON(sizeof(struct jffs2_raw_summary) != 32);
|
||||||
|
|
||||||
|
|
|
@ -153,7 +153,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
case RTN_THROW:
|
case RTN_THROW:
|
||||||
case RTN_UNREACHABLE:
|
case RTN_UNREACHABLE:
|
||||||
default:
|
default:
|
||||||
@@ -2610,6 +2632,17 @@ static int ip6_pkt_prohibit_out(struct n
|
@@ -2613,6 +2635,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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -171,7 +171,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.
|
||||||
*/
|
*/
|
||||||
@@ -2847,7 +2880,8 @@ static int rtm_to_fib6_config(struct sk_
|
@@ -2850,7 +2883,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 ||
|
||||||
|
@ -181,7 +181,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)
|
||||||
@@ -3219,6 +3253,9 @@ static int rt6_fill_node(struct net *net
|
@@ -3222,6 +3256,9 @@ static int rt6_fill_node(struct net *net
|
||||||
case -EACCES:
|
case -EACCES:
|
||||||
rtm->rtm_type = RTN_PROHIBIT;
|
rtm->rtm_type = RTN_PROHIBIT;
|
||||||
break;
|
break;
|
||||||
|
@ -191,7 +191,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
case -EAGAIN:
|
case -EAGAIN:
|
||||||
rtm->rtm_type = RTN_THROW;
|
rtm->rtm_type = RTN_THROW;
|
||||||
break;
|
break;
|
||||||
@@ -3495,6 +3532,8 @@ static int ip6_route_dev_notify(struct n
|
@@ -3490,6 +3527,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);
|
||||||
|
@ -200,7 +200,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
|
||||||
@@ -3506,6 +3545,7 @@ static int ip6_route_dev_notify(struct n
|
@@ -3501,6 +3540,7 @@ static int ip6_route_dev_notify(struct n
|
||||||
in6_dev_put(net->ipv6.ip6_null_entry->rt6i_idev);
|
in6_dev_put(net->ipv6.ip6_null_entry->rt6i_idev);
|
||||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||||
in6_dev_put(net->ipv6.ip6_prohibit_entry->rt6i_idev);
|
in6_dev_put(net->ipv6.ip6_prohibit_entry->rt6i_idev);
|
||||||
|
@ -208,7 +208,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
in6_dev_put(net->ipv6.ip6_blk_hole_entry->rt6i_idev);
|
in6_dev_put(net->ipv6.ip6_blk_hole_entry->rt6i_idev);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -3721,6 +3761,17 @@ static int __net_init ip6_route_net_init
|
@@ -3716,6 +3756,17 @@ static int __net_init ip6_route_net_init
|
||||||
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);
|
||||||
|
@ -226,7 +226,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
net->ipv6.sysctl.flush_delay = 0;
|
net->ipv6.sysctl.flush_delay = 0;
|
||||||
@@ -3739,6 +3790,8 @@ out:
|
@@ -3734,6 +3785,8 @@ out:
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||||
|
@ -235,7 +235,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:
|
||||||
@@ -3756,6 +3809,7 @@ static void __net_exit ip6_route_net_exi
|
@@ -3751,6 +3804,7 @@ static void __net_exit ip6_route_net_exi
|
||||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||||
kfree(net->ipv6.ip6_prohibit_entry);
|
kfree(net->ipv6.ip6_prohibit_entry);
|
||||||
kfree(net->ipv6.ip6_blk_hole_entry);
|
kfree(net->ipv6.ip6_blk_hole_entry);
|
||||||
|
@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
#endif
|
#endif
|
||||||
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
|
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
|
||||||
}
|
}
|
||||||
@@ -3829,6 +3883,9 @@ void __init ip6_route_init_special_entri
|
@@ -3824,6 +3878,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);
|
||||||
|
|
|
@ -49,7 +49,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||||
/*
|
/*
|
||||||
* Some BIOS implementations leave the Intel GPU interrupts enabled,
|
* Some BIOS implementations leave the Intel GPU interrupts enabled,
|
||||||
* even though no one is handling them (f.e. i915 driver is never loaded).
|
* even though no one is handling them (f.e. i915 driver is never loaded).
|
||||||
@@ -3128,6 +3132,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
|
@@ -3132,6 +3136,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);
|
||||||
|
|
||||||
|
|
|
@ -1160,7 +1160,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
+#endif
|
+#endif
|
||||||
--- a/kernel/irq/manage.c
|
--- a/kernel/irq/manage.c
|
||||||
+++ b/kernel/irq/manage.c
|
+++ b/kernel/irq/manage.c
|
||||||
@@ -1387,6 +1387,7 @@ __setup_irq(unsigned int irq, struct irq
|
@@ -1391,6 +1391,7 @@ __setup_irq(unsigned int irq, struct irq
|
||||||
wake_up_process(new->secondary->thread);
|
wake_up_process(new->secondary->thread);
|
||||||
|
|
||||||
register_irq_proc(irq, desc);
|
register_irq_proc(irq, desc);
|
||||||
|
@ -1370,7 +1370,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
&queue_tx_maxrate.attr,
|
&queue_tx_maxrate.attr,
|
||||||
--- a/net/core/rtnetlink.c
|
--- a/net/core/rtnetlink.c
|
||||||
+++ b/net/core/rtnetlink.c
|
+++ b/net/core/rtnetlink.c
|
||||||
@@ -3696,7 +3696,7 @@ static int rtnl_get_offload_stats(struct
|
@@ -3706,7 +3706,7 @@ static int rtnl_get_offload_stats(struct
|
||||||
if (!size)
|
if (!size)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
@ -1379,7 +1379,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
attr = nla_reserve_64bit(skb, attr_id, size,
|
attr = nla_reserve_64bit(skb, attr_id, size,
|
||||||
@@ -3737,7 +3737,7 @@ static int rtnl_get_offload_stats_size(c
|
@@ -3747,7 +3747,7 @@ static int rtnl_get_offload_stats_size(c
|
||||||
|
|
||||||
for (attr_id = IFLA_OFFLOAD_XSTATS_FIRST;
|
for (attr_id = IFLA_OFFLOAD_XSTATS_FIRST;
|
||||||
attr_id <= IFLA_OFFLOAD_XSTATS_MAX; attr_id++) {
|
attr_id <= IFLA_OFFLOAD_XSTATS_MAX; attr_id++) {
|
||||||
|
|
|
@ -715,7 +715,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
|
|
||||||
/* Everspin */
|
/* Everspin */
|
||||||
{ "mr25h256", CAT25_INFO( 32 * 1024, 1, 256, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
|
{ "mr25h256", CAT25_INFO( 32 * 1024, 1, 256, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
|
||||||
@@ -1015,12 +1029,15 @@ static const struct flash_info spi_nor_i
|
@@ -1021,12 +1035,15 @@ static const struct flash_info spi_nor_i
|
||||||
{ "mx25l3205d", INFO(0xc22016, 0, 64 * 1024, 64, SECT_4K) },
|
{ "mx25l3205d", INFO(0xc22016, 0, 64 * 1024, 64, SECT_4K) },
|
||||||
{ "mx25l3255e", INFO(0xc29e16, 0, 64 * 1024, 64, SECT_4K) },
|
{ "mx25l3255e", INFO(0xc29e16, 0, 64 * 1024, 64, SECT_4K) },
|
||||||
{ "mx25l6405d", INFO(0xc22017, 0, 64 * 1024, 128, SECT_4K) },
|
{ "mx25l6405d", INFO(0xc22017, 0, 64 * 1024, 128, SECT_4K) },
|
||||||
|
@ -732,7 +732,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
{ "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) },
|
{ "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) },
|
||||||
{ "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, SPI_NOR_QUAD_READ) },
|
{ "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, SPI_NOR_QUAD_READ) },
|
||||||
{ "mx66l1g55g", INFO(0xc2261b, 0, 64 * 1024, 2048, SPI_NOR_QUAD_READ) },
|
{ "mx66l1g55g", INFO(0xc2261b, 0, 64 * 1024, 2048, SPI_NOR_QUAD_READ) },
|
||||||
@@ -1034,10 +1051,11 @@ static const struct flash_info spi_nor_i
|
@@ -1040,10 +1057,11 @@ static const struct flash_info spi_nor_i
|
||||||
{ "n25q128a11", INFO(0x20bb18, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_QUAD_READ) },
|
{ "n25q128a11", INFO(0x20bb18, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_QUAD_READ) },
|
||||||
{ "n25q128a13", INFO(0x20ba18, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_QUAD_READ) },
|
{ "n25q128a13", INFO(0x20ba18, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_QUAD_READ) },
|
||||||
{ "n25q256a", INFO(0x20ba19, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_QUAD_READ) },
|
{ "n25q256a", INFO(0x20ba19, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_QUAD_READ) },
|
||||||
|
@ -746,7 +746,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
|
|
||||||
/* PMC */
|
/* PMC */
|
||||||
{ "pm25lv512", INFO(0, 0, 32 * 1024, 2, SECT_4K_PMC) },
|
{ "pm25lv512", INFO(0, 0, 32 * 1024, 2, SECT_4K_PMC) },
|
||||||
@@ -1055,8 +1073,11 @@ static const struct flash_info spi_nor_i
|
@@ -1061,8 +1079,11 @@ static const struct flash_info spi_nor_i
|
||||||
{ "s70fl01gs", INFO(0x010221, 0x4d00, 256 * 1024, 256, 0) },
|
{ "s70fl01gs", INFO(0x010221, 0x4d00, 256 * 1024, 256, 0) },
|
||||||
{ "s25sl12800", INFO(0x012018, 0x0300, 256 * 1024, 64, 0) },
|
{ "s25sl12800", INFO(0x012018, 0x0300, 256 * 1024, 64, 0) },
|
||||||
{ "s25sl12801", INFO(0x012018, 0x0301, 64 * 1024, 256, 0) },
|
{ "s25sl12801", INFO(0x012018, 0x0301, 64 * 1024, 256, 0) },
|
||||||
|
@ -759,7 +759,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
{ "s25fl129p1", INFO(0x012018, 0x4d01, 64 * 1024, 256, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
|
{ "s25fl129p1", INFO(0x012018, 0x4d01, 64 * 1024, 256, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
|
||||||
{ "s25sl004a", INFO(0x010212, 0, 64 * 1024, 8, 0) },
|
{ "s25sl004a", INFO(0x010212, 0, 64 * 1024, 8, 0) },
|
||||||
{ "s25sl008a", INFO(0x010213, 0, 64 * 1024, 16, 0) },
|
{ "s25sl008a", INFO(0x010213, 0, 64 * 1024, 16, 0) },
|
||||||
@@ -1130,7 +1151,15 @@ static const struct flash_info spi_nor_i
|
@@ -1136,7 +1157,15 @@ static const struct flash_info spi_nor_i
|
||||||
{ "w25x40", INFO(0xef3013, 0, 64 * 1024, 8, SECT_4K) },
|
{ "w25x40", INFO(0xef3013, 0, 64 * 1024, 8, SECT_4K) },
|
||||||
{ "w25x80", INFO(0xef3014, 0, 64 * 1024, 16, SECT_4K) },
|
{ "w25x80", INFO(0xef3014, 0, 64 * 1024, 16, SECT_4K) },
|
||||||
{ "w25x16", INFO(0xef3015, 0, 64 * 1024, 32, SECT_4K) },
|
{ "w25x16", INFO(0xef3015, 0, 64 * 1024, 32, SECT_4K) },
|
||||||
|
@ -775,7 +775,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
{ "w25q32", INFO(0xef4016, 0, 64 * 1024, 64, SECT_4K) },
|
{ "w25q32", INFO(0xef4016, 0, 64 * 1024, 64, SECT_4K) },
|
||||||
{
|
{
|
||||||
"w25q32dw", INFO(0xef6016, 0, 64 * 1024, 64,
|
"w25q32dw", INFO(0xef6016, 0, 64 * 1024, 64,
|
||||||
@@ -1202,6 +1231,53 @@ static const struct flash_info *spi_nor_
|
@@ -1208,6 +1237,53 @@ static const struct flash_info *spi_nor_
|
||||||
id[0], id[1], id[2]);
|
id[0], id[1], id[2]);
|
||||||
return ERR_PTR(-ENODEV);
|
return ERR_PTR(-ENODEV);
|
||||||
}
|
}
|
||||||
|
@ -829,7 +829,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
|
|
||||||
static int spi_nor_read(struct mtd_info *mtd, loff_t from, size_t len,
|
static int spi_nor_read(struct mtd_info *mtd, loff_t from, size_t len,
|
||||||
size_t *retlen, u_char *buf)
|
size_t *retlen, u_char *buf)
|
||||||
@@ -1421,7 +1497,7 @@ static int macronix_quad_enable(struct s
|
@@ -1427,7 +1503,7 @@ static int macronix_quad_enable(struct s
|
||||||
* Write status Register and configuration register with 2 bytes
|
* Write status Register and configuration register with 2 bytes
|
||||||
* The first byte will be written to the status register, while the
|
* The first byte will be written to the status register, while the
|
||||||
* second byte will be written to the configuration register.
|
* second byte will be written to the configuration register.
|
||||||
|
@ -838,7 +838,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
*/
|
*/
|
||||||
static int write_sr_cr(struct spi_nor *nor, u16 val)
|
static int write_sr_cr(struct spi_nor *nor, u16 val)
|
||||||
{
|
{
|
||||||
@@ -1469,6 +1545,24 @@ static int spansion_quad_enable(struct s
|
@@ -1475,6 +1551,24 @@ static int spansion_quad_enable(struct s
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -863,7 +863,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
static int set_quad_mode(struct spi_nor *nor, const struct flash_info *info)
|
static int set_quad_mode(struct spi_nor *nor, const struct flash_info *info)
|
||||||
{
|
{
|
||||||
int status;
|
int status;
|
||||||
@@ -1615,9 +1709,25 @@ int spi_nor_scan(struct spi_nor *nor, co
|
@@ -1621,9 +1715,25 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||||
write_sr(nor, 0);
|
write_sr(nor, 0);
|
||||||
spi_nor_wait_till_ready(nor);
|
spi_nor_wait_till_ready(nor);
|
||||||
}
|
}
|
||||||
|
@ -889,7 +889,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
mtd->priv = nor;
|
mtd->priv = nor;
|
||||||
mtd->type = MTD_NORFLASH;
|
mtd->type = MTD_NORFLASH;
|
||||||
mtd->writesize = 1;
|
mtd->writesize = 1;
|
||||||
@@ -1651,6 +1761,8 @@ int spi_nor_scan(struct spi_nor *nor, co
|
@@ -1657,6 +1767,8 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||||
nor->flags |= SNOR_F_USE_FSR;
|
nor->flags |= SNOR_F_USE_FSR;
|
||||||
if (info->flags & SPI_NOR_HAS_TB)
|
if (info->flags & SPI_NOR_HAS_TB)
|
||||||
nor->flags |= SNOR_F_HAS_SR_TB;
|
nor->flags |= SNOR_F_HAS_SR_TB;
|
||||||
|
@ -898,7 +898,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
|
|
||||||
#ifdef CONFIG_MTD_SPI_NOR_USE_4K_SECTORS
|
#ifdef CONFIG_MTD_SPI_NOR_USE_4K_SECTORS
|
||||||
/* prefer "small sector" erase if possible */
|
/* prefer "small sector" erase if possible */
|
||||||
@@ -1690,9 +1802,15 @@ int spi_nor_scan(struct spi_nor *nor, co
|
@@ -1696,9 +1808,15 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||||
/* Some devices cannot do fast-read, no matter what DT tells us */
|
/* Some devices cannot do fast-read, no matter what DT tells us */
|
||||||
if (info->flags & SPI_NOR_NO_FR)
|
if (info->flags & SPI_NOR_NO_FR)
|
||||||
nor->flash_read = SPI_NOR_NORMAL;
|
nor->flash_read = SPI_NOR_NORMAL;
|
||||||
|
@ -917,7 +917,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
ret = set_quad_mode(nor, info);
|
ret = set_quad_mode(nor, info);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(dev, "quad mode not supported\n");
|
dev_err(dev, "quad mode not supported\n");
|
||||||
@@ -1705,6 +1823,9 @@ int spi_nor_scan(struct spi_nor *nor, co
|
@@ -1711,6 +1829,9 @@ int spi_nor_scan(struct spi_nor *nor, co
|
||||||
|
|
||||||
/* Default commands */
|
/* Default commands */
|
||||||
switch (nor->flash_read) {
|
switch (nor->flash_read) {
|
||||||
|
|
|
@ -2060,7 +2060,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
}
|
}
|
||||||
--- a/drivers/pci/quirks.c
|
--- a/drivers/pci/quirks.c
|
||||||
+++ b/drivers/pci/quirks.c
|
+++ b/drivers/pci/quirks.c
|
||||||
@@ -3329,6 +3329,13 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_A
|
@@ -3333,6 +3333,13 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_A
|
||||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x003c, quirk_no_bus_reset);
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x003c, quirk_no_bus_reset);
|
||||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0033, quirk_no_bus_reset);
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0033, quirk_no_bus_reset);
|
||||||
|
|
||||||
|
@ -2074,7 +2074,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
static void quirk_no_pm_reset(struct pci_dev *dev)
|
static void quirk_no_pm_reset(struct pci_dev *dev)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
@@ -4673,3 +4680,11 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_IN
|
@@ -4677,3 +4684,11 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_IN
|
||||||
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2031, quirk_no_aersid);
|
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2031, quirk_no_aersid);
|
||||||
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2032, quirk_no_aersid);
|
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2032, quirk_no_aersid);
|
||||||
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2033, quirk_no_aersid);
|
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x2033, quirk_no_aersid);
|
||||||
|
|
|
@ -1605,17 +1605,6 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
+MODULE_DESCRIPTION("Freescale Backplane driver");
|
+MODULE_DESCRIPTION("Freescale Backplane driver");
|
||||||
+MODULE_AUTHOR("Shaohui Xie <Shaohui.Xie@freescale.com>");
|
+MODULE_AUTHOR("Shaohui Xie <Shaohui.Xie@freescale.com>");
|
||||||
+MODULE_LICENSE("GPL v2");
|
+MODULE_LICENSE("GPL v2");
|
||||||
--- a/drivers/net/phy/marvell.c
|
|
||||||
+++ b/drivers/net/phy/marvell.c
|
|
||||||
@@ -1610,7 +1610,7 @@ static struct phy_driver marvell_drivers
|
|
||||||
.flags = PHY_HAS_INTERRUPT,
|
|
||||||
.probe = marvell_probe,
|
|
||||||
.config_init = &m88e1145_config_init,
|
|
||||||
- .config_aneg = &marvell_config_aneg,
|
|
||||||
+ .config_aneg = &m88e1101_config_aneg,
|
|
||||||
.read_status = &genphy_read_status,
|
|
||||||
.ack_interrupt = &marvell_ack_interrupt,
|
|
||||||
.config_intr = &marvell_config_intr,
|
|
||||||
--- a/drivers/net/phy/phy.c
|
--- a/drivers/net/phy/phy.c
|
||||||
+++ b/drivers/net/phy/phy.c
|
+++ b/drivers/net/phy/phy.c
|
||||||
@@ -591,7 +591,7 @@ int phy_mii_ioctl(struct phy_device *phy
|
@@ -591,7 +591,7 @@ int phy_mii_ioctl(struct phy_device *phy
|
||||||
|
|
|
@ -782,7 +782,7 @@ Singed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
};
|
};
|
||||||
|
|
||||||
struct tcrypt_result {
|
struct tcrypt_result {
|
||||||
@@ -1333,6 +1333,10 @@ static int do_test(const char *alg, u32
|
@@ -1336,6 +1336,10 @@ static int do_test(const char *alg, u32
|
||||||
ret += tcrypt_test("hmac(sha3-512)");
|
ret += tcrypt_test("hmac(sha3-512)");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -793,7 +793,7 @@ Singed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
case 150:
|
case 150:
|
||||||
ret += tcrypt_test("ansi_cprng");
|
ret += tcrypt_test("ansi_cprng");
|
||||||
break;
|
break;
|
||||||
@@ -1394,6 +1398,9 @@ static int do_test(const char *alg, u32
|
@@ -1397,6 +1401,9 @@ static int do_test(const char *alg, u32
|
||||||
case 190:
|
case 190:
|
||||||
ret += tcrypt_test("authenc(hmac(sha512),cbc(des3_ede))");
|
ret += tcrypt_test("authenc(hmac(sha512),cbc(des3_ede))");
|
||||||
break;
|
break;
|
||||||
|
@ -803,7 +803,7 @@ Singed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
case 200:
|
case 200:
|
||||||
test_cipher_speed("ecb(aes)", ENCRYPT, sec, NULL, 0,
|
test_cipher_speed("ecb(aes)", ENCRYPT, sec, NULL, 0,
|
||||||
speed_template_16_24_32);
|
speed_template_16_24_32);
|
||||||
@@ -1408,9 +1415,9 @@ static int do_test(const char *alg, u32
|
@@ -1411,9 +1418,9 @@ static int do_test(const char *alg, u32
|
||||||
test_cipher_speed("lrw(aes)", DECRYPT, sec, NULL, 0,
|
test_cipher_speed("lrw(aes)", DECRYPT, sec, NULL, 0,
|
||||||
speed_template_32_40_48);
|
speed_template_32_40_48);
|
||||||
test_cipher_speed("xts(aes)", ENCRYPT, sec, NULL, 0,
|
test_cipher_speed("xts(aes)", ENCRYPT, sec, NULL, 0,
|
||||||
|
@ -815,7 +815,7 @@ Singed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
test_cipher_speed("cts(cbc(aes))", ENCRYPT, sec, NULL, 0,
|
test_cipher_speed("cts(cbc(aes))", ENCRYPT, sec, NULL, 0,
|
||||||
speed_template_16_24_32);
|
speed_template_16_24_32);
|
||||||
test_cipher_speed("cts(cbc(aes))", DECRYPT, sec, NULL, 0,
|
test_cipher_speed("cts(cbc(aes))", DECRYPT, sec, NULL, 0,
|
||||||
@@ -1841,9 +1848,9 @@ static int do_test(const char *alg, u32
|
@@ -1844,9 +1851,9 @@ static int do_test(const char *alg, u32
|
||||||
test_acipher_speed("lrw(aes)", DECRYPT, sec, NULL, 0,
|
test_acipher_speed("lrw(aes)", DECRYPT, sec, NULL, 0,
|
||||||
speed_template_32_40_48);
|
speed_template_32_40_48);
|
||||||
test_acipher_speed("xts(aes)", ENCRYPT, sec, NULL, 0,
|
test_acipher_speed("xts(aes)", ENCRYPT, sec, NULL, 0,
|
||||||
|
|
|
@ -88,7 +88,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
pkt_len = le32_to_cpu(rx_desc->opts1) & RX_LEN_MASK;
|
pkt_len = le32_to_cpu(rx_desc->opts1) & RX_LEN_MASK;
|
||||||
if (pkt_len < ETH_ZLEN)
|
if (pkt_len < ETH_ZLEN)
|
||||||
break;
|
break;
|
||||||
@@ -4510,6 +4515,7 @@ static struct usb_device_id rtl8152_tabl
|
@@ -4513,6 +4518,7 @@ static struct usb_device_id rtl8152_tabl
|
||||||
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x304f)},
|
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x304f)},
|
||||||
{REALTEK_USB_DEVICE(VENDOR_ID_LINKSYS, 0x0041)},
|
{REALTEK_USB_DEVICE(VENDOR_ID_LINKSYS, 0x0041)},
|
||||||
{REALTEK_USB_DEVICE(VENDOR_ID_NVIDIA, 0x09ff)},
|
{REALTEK_USB_DEVICE(VENDOR_ID_NVIDIA, 0x09ff)},
|
||||||
|
|
Loading…
Reference in New Issue