mirror of
https://github.com/Ysurac/openmptcprouter.git
synced 2025-03-09 15:40:20 +00:00
Remove patch applied upstream
This commit is contained in:
parent
fbcca28304
commit
ee34b5e70f
3 changed files with 0 additions and 174 deletions
|
@ -1,52 +0,0 @@
|
|||
From 2056147441c525a2fbe68ed52668b3be51d7c988 Mon Sep 17 00:00:00 2001
|
||||
From: Phil Elwell <phil@raspberrypi.org>
|
||||
Date: Fri, 21 Jul 2017 11:30:18 +0100
|
||||
Subject: [PATCH 149/277] lan78xx: Read MAC address from DT if present
|
||||
|
||||
There is a standard mechanism for locating and using a MAC address from
|
||||
the Device Tree. Use this facility in the lan78xx driver to support
|
||||
applications without programmed EEPROM or OTP.
|
||||
|
||||
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
---
|
||||
drivers/net/usb/lan78xx.c | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c
|
||||
index a8dd1c7a08cb..2727ce1f9b53 100644
|
||||
--- a/drivers/net/usb/lan78xx.c
|
||||
+++ b/drivers/net/usb/lan78xx.c
|
||||
@@ -37,6 +37,7 @@
|
||||
#include <linux/irqchip/chained_irq.h>
|
||||
#include <linux/microchipphy.h>
|
||||
#include <linux/phy.h>
|
||||
+#include <linux/of_net.h>
|
||||
#include "lan78xx.h"
|
||||
|
||||
#define DRIVER_AUTHOR "WOOJUNG HUH <woojung.huh@microchip.com>"
|
||||
@@ -1639,6 +1640,14 @@ static void lan78xx_init_mac_address(struct lan78xx_net *dev)
|
||||
u32 addr_lo, addr_hi;
|
||||
int ret;
|
||||
u8 addr[6];
|
||||
+ const u8 *mac_addr;
|
||||
+
|
||||
+ /* maybe the boot loader passed the MAC address in devicetree */
|
||||
+ mac_addr = of_get_mac_address(dev->udev->dev.of_node);
|
||||
+ if (mac_addr) {
|
||||
+ ether_addr_copy(addr, mac_addr);
|
||||
+ goto set_mac_addr;
|
||||
+ }
|
||||
|
||||
ret = lan78xx_read_reg(dev, RX_ADDRL, &addr_lo);
|
||||
ret = lan78xx_read_reg(dev, RX_ADDRH, &addr_hi);
|
||||
@@ -1667,6 +1676,7 @@ static void lan78xx_init_mac_address(struct lan78xx_net *dev)
|
||||
"MAC address set to random addr");
|
||||
}
|
||||
|
||||
+set_mac_addr:
|
||||
addr_lo = addr[0] | (addr[1] << 8) |
|
||||
(addr[2] << 16) | (addr[3] << 24);
|
||||
addr_hi = addr[4] | (addr[5] << 8);
|
||||
--
|
||||
2.16.1
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
From 9696aab22bb8163fb3a2a262dd6c67f6d05b70a1 Mon Sep 17 00:00:00 2001
|
||||
From: Phil Elwell <phil@raspberrypi.org>
|
||||
Date: Wed, 28 Mar 2018 12:18:13 +0100
|
||||
Subject: [PATCH 284/297] lan78xx: Ignore DT MAC address if already valid
|
||||
|
||||
The patch to set the lan78xx MAC address from DT does so regardless of
|
||||
whether or not the interface already has a valid address. As the
|
||||
initialisation function is called from the reset handler when the
|
||||
interface is brought up, it is impossible to change the MAC address
|
||||
in a way that persists across the interface being brought up.
|
||||
|
||||
Fix the problem by moving the DT reading code after the check for a
|
||||
valid address.
|
||||
|
||||
See: https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=209309
|
||||
|
||||
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
---
|
||||
drivers/net/usb/lan78xx.c | 17 +++++++++--------
|
||||
1 file changed, 9 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c
|
||||
index 52593368a48d..981cc5bf2df4 100644
|
||||
--- a/drivers/net/usb/lan78xx.c
|
||||
+++ b/drivers/net/usb/lan78xx.c
|
||||
@@ -1641,14 +1641,6 @@ static void lan78xx_init_mac_address(struct lan78xx_net *dev)
|
||||
u32 addr_lo, addr_hi;
|
||||
int ret;
|
||||
u8 addr[6];
|
||||
- const u8 *mac_addr;
|
||||
-
|
||||
- /* maybe the boot loader passed the MAC address in devicetree */
|
||||
- mac_addr = of_get_mac_address(dev->udev->dev.of_node);
|
||||
- if (mac_addr) {
|
||||
- ether_addr_copy(addr, mac_addr);
|
||||
- goto set_mac_addr;
|
||||
- }
|
||||
|
||||
ret = lan78xx_read_reg(dev, RX_ADDRL, &addr_lo);
|
||||
ret = lan78xx_read_reg(dev, RX_ADDRH, &addr_hi);
|
||||
@@ -1661,6 +1653,15 @@ static void lan78xx_init_mac_address(struct lan78xx_net *dev)
|
||||
addr[5] = (addr_hi >> 8) & 0xFF;
|
||||
|
||||
if (!is_valid_ether_addr(addr)) {
|
||||
+ const u8 *mac_addr;
|
||||
+
|
||||
+ /* maybe the boot loader passed the MAC address in devicetree */
|
||||
+ mac_addr = of_get_mac_address(dev->udev->dev.of_node);
|
||||
+ if (mac_addr) {
|
||||
+ ether_addr_copy(addr, mac_addr);
|
||||
+ goto set_mac_addr;
|
||||
+ }
|
||||
+
|
||||
/* reading mac address from EEPROM or OTP */
|
||||
if ((lan78xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN,
|
||||
addr) == 0) ||
|
||||
--
|
||||
2.16.1
|
||||
|
|
@ -1,63 +0,0 @@
|
|||
From d1394b5739ff97a6e504be4755ce023e422a6d39 Mon Sep 17 00:00:00 2001
|
||||
From: Ben Wolsieffer <lopsided98@users.noreply.github.com>
|
||||
Date: Tue, 13 Nov 2018 08:30:17 -0500
|
||||
Subject: [PATCH 485/496] staging: vchiq_arm: fix compat
|
||||
VCHIQ_IOC_AWAIT_COMPLETION (#2703)
|
||||
|
||||
The compatibility ioctl wrapper for VCHIQ_IOC_AWAIT_COMPLETION assumes that
|
||||
the native ioctl always uses a message buffer and decrements msgbufcount.
|
||||
Certain message types do not use a message buffer and in this case
|
||||
msgbufcount is not decremented, and completion->header for the message is
|
||||
NULL. Because the wrapper unconditionally decrements msgbufcount, the
|
||||
calling process may assume that a message buffer has been used even when
|
||||
it has not.
|
||||
|
||||
This results in a memory leak in the userspace code that interfaces with
|
||||
this driver. When msgbufcount is decremented, the userspace code assumes
|
||||
that the buffer can be freed though the reference in completion->header,
|
||||
which cannot happen when the reference is NULL.
|
||||
|
||||
This patch causes the wrapper to only decrement msgbufcount when the
|
||||
native ioctl decrements it. Note that we cannot simply copy the native
|
||||
ioctl's value of msgbufcount, because the wrapper only retrieves messages
|
||||
from the native ioctl one at a time, while userspace may request multiple
|
||||
messages.
|
||||
|
||||
See https://github.com/raspberrypi/linux/pull/2703 for more discussion of
|
||||
this patch.
|
||||
|
||||
Fixes: 5569a12 ("staging: vchiq_arm: Add compatibility wrappers for ioctls")
|
||||
|
||||
Signed-off-by: Ben Wolsieffer <benwolsieffer@gmail.com>
|
||||
---
|
||||
.../staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
|
||||
index d67987fbf25e..8ff0e7e860f3 100644
|
||||
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
|
||||
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
|
||||
@@ -1461,6 +1461,7 @@ vchiq_compat_ioctl_await_completion(struct file *file,
|
||||
struct vchiq_await_completion32 args32;
|
||||
struct vchiq_completion_data32 completion32;
|
||||
unsigned int *msgbufcount32;
|
||||
+ unsigned int msgbufcount_native;
|
||||
compat_uptr_t msgbuf32;
|
||||
void *msgbuf;
|
||||
void **msgbufptr;
|
||||
@@ -1572,7 +1573,11 @@ vchiq_compat_ioctl_await_completion(struct file *file,
|
||||
sizeof(completion32)))
|
||||
return -EFAULT;
|
||||
|
||||
- args32.msgbufcount--;
|
||||
+ if (get_user(msgbufcount_native, &args->msgbufcount))
|
||||
+ return -EFAULT;
|
||||
+
|
||||
+ if (!msgbufcount_native)
|
||||
+ args32.msgbufcount--;
|
||||
|
||||
msgbufcount32 =
|
||||
&((struct vchiq_await_completion32 __user *)arg)->msgbufcount;
|
||||
--
|
||||
2.19.1
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue