adding patches for 4.15 kernel series
This commit is contained in:
parent
7d90f21452
commit
1cf2a06e43
150
patches-4.15/cameras.patch
Normal file
150
patches-4.15/cameras.patch
Normal file
|
@ -0,0 +1,150 @@
|
|||
From 5549632053d4ae06867f383694553f7af27e40c9 Mon Sep 17 00:00:00 2001
|
||||
From: Jake Day <jake@ninebysix.com>
|
||||
Date: Fri, 2 Feb 2018 11:07:32 -0500
|
||||
Subject: initial support for surface cameras
|
||||
|
||||
|
||||
diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
|
||||
index 28b91b7..0e5989c 100644
|
||||
--- a/drivers/media/usb/uvc/uvc_driver.c
|
||||
+++ b/drivers/media/usb/uvc/uvc_driver.c
|
||||
@@ -2277,6 +2277,46 @@ MODULE_PARM_DESC(timeout, "Streaming control requests timeout");
|
||||
* though they are compliant.
|
||||
*/
|
||||
static const struct usb_device_id uvc_ids[] = {
|
||||
+ /* Microsoft Surface Pro 3 Front */
|
||||
+ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
|
||||
+ | USB_DEVICE_ID_MATCH_INT_INFO,
|
||||
+ .idVendor = 0x045e,
|
||||
+ .idProduct = 0x07be,
|
||||
+ .bInterfaceClass = USB_CLASS_VIDEO,
|
||||
+ .bInterfaceSubClass = 1,
|
||||
+ .bInterfaceProtocol = 1 },
|
||||
+ /* Microsoft Surface Pro 3 Rear */
|
||||
+ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
|
||||
+ | USB_DEVICE_ID_MATCH_INT_INFO,
|
||||
+ .idVendor = 0x045e,
|
||||
+ .idProduct = 0x07bf,
|
||||
+ .bInterfaceClass = USB_CLASS_VIDEO,
|
||||
+ .bInterfaceSubClass = 1,
|
||||
+ .bInterfaceProtocol = 1 },
|
||||
+ /* Microsoft Surface Pro 4 Cam */
|
||||
+ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
|
||||
+ | USB_DEVICE_ID_MATCH_INT_INFO,
|
||||
+ .idVendor = 0x045e,
|
||||
+ .idProduct = 0x090c,
|
||||
+ .bInterfaceClass = USB_CLASS_VIDEO,
|
||||
+ .bInterfaceSubClass = 1,
|
||||
+ .bInterfaceProtocol = 1 },
|
||||
+ /* Microsoft Surface Book Cam 1 */
|
||||
+ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
|
||||
+ | USB_DEVICE_ID_MATCH_INT_INFO,
|
||||
+ .idVendor = 0x045e,
|
||||
+ .idProduct = 0x090b,
|
||||
+ .bInterfaceClass = USB_CLASS_VIDEO,
|
||||
+ .bInterfaceSubClass = 1,
|
||||
+ .bInterfaceProtocol = 1 },
|
||||
+ /* Microsoft Surface Book Cam 2 */
|
||||
+ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
|
||||
+ | USB_DEVICE_ID_MATCH_INT_INFO,
|
||||
+ .idVendor = 0x045e,
|
||||
+ .idProduct = 0x091a,
|
||||
+ .bInterfaceClass = USB_CLASS_VIDEO,
|
||||
+ .bInterfaceSubClass = 1,
|
||||
+ .bInterfaceProtocol = 1 },
|
||||
/* LogiLink Wireless Webcam */
|
||||
{ .match_flags = USB_DEVICE_ID_MATCH_DEVICE
|
||||
| USB_DEVICE_ID_MATCH_INT_INFO,
|
||||
diff --git a/drivers/staging/media/atomisp/i2c/ov5693/Kconfig b/drivers/staging/media/atomisp/i2c/ov5693/Kconfig
|
||||
index 3f527f2..b882948 100644
|
||||
--- a/drivers/staging/media/atomisp/i2c/ov5693/Kconfig
|
||||
+++ b/drivers/staging/media/atomisp/i2c/ov5693/Kconfig
|
||||
@@ -1,7 +1,7 @@
|
||||
config VIDEO_ATOMISP_OV5693
|
||||
tristate "Omnivision ov5693 sensor support"
|
||||
depends on ACPI
|
||||
- depends on I2C && VIDEO_V4L2
|
||||
+ depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER
|
||||
---help---
|
||||
This is a Video4Linux2 sensor-level driver for the Micron
|
||||
ov5693 5 Mpixel camera.
|
||||
diff --git a/drivers/staging/media/atomisp/i2c/ov5693/atomisp-ov5693.c b/drivers/staging/media/atomisp/i2c/ov5693/atomisp-ov5693.c
|
||||
index 3e7c385..9b1fc1c 100644
|
||||
--- a/drivers/staging/media/atomisp/i2c/ov5693/atomisp-ov5693.c
|
||||
+++ b/drivers/staging/media/atomisp/i2c/ov5693/atomisp-ov5693.c
|
||||
@@ -1320,11 +1320,15 @@ static int power_ctrl(struct v4l2_subdev *sd, bool flag)
|
||||
static int gpio_ctrl(struct v4l2_subdev *sd, bool flag)
|
||||
{
|
||||
struct ov5693_device *dev = to_ov5693_sensor(sd);
|
||||
+ int ret = 0;
|
||||
|
||||
if (!dev || !dev->platform_data)
|
||||
return -ENODEV;
|
||||
|
||||
- return dev->platform_data->gpio0_ctrl(sd, flag);
|
||||
+ if (dev->platform_data->gpio0_ctrl)
|
||||
+ ret = dev->platform_data->gpio0_ctrl(sd, flag);
|
||||
+
|
||||
+ return ret;
|
||||
}
|
||||
|
||||
static int __power_up(struct v4l2_subdev *sd)
|
||||
@@ -1689,7 +1693,7 @@ static int ov5693_detect(struct i2c_client *client)
|
||||
OV5693_SC_CMMN_CHIP_ID_L, &low);
|
||||
id = ((((u16) high) << 8) | (u16) low);
|
||||
|
||||
- if (id != OV5693_ID) {
|
||||
+ if (id != OV5690_ID && id != OV5693_ID) {
|
||||
dev_err(&client->dev, "sensor ID error 0x%x\n", id);
|
||||
return -ENODEV;
|
||||
}
|
||||
diff --git a/drivers/staging/media/atomisp/i2c/ov5693/ov5693.h b/drivers/staging/media/atomisp/i2c/ov5693/ov5693.h
|
||||
index 2ea6380..2168daa 100644
|
||||
--- a/drivers/staging/media/atomisp/i2c/ov5693/ov5693.h
|
||||
+++ b/drivers/staging/media/atomisp/i2c/ov5693/ov5693.h
|
||||
@@ -29,7 +29,7 @@
|
||||
#include <linux/v4l2-mediabus.h>
|
||||
#include <media/media-entity.h>
|
||||
|
||||
-#include "../../include/linux/atomisp_platform.h"
|
||||
+#include "../../include/linux/atomisp_gmin_platform.h"
|
||||
|
||||
#define OV5693_POWER_UP_RETRY_NUM 5
|
||||
|
||||
@@ -72,7 +72,8 @@
|
||||
* bits 7-0: min f-number denominator
|
||||
*/
|
||||
#define OV5693_F_NUMBER_RANGE 0x180a180a
|
||||
-#define OV5693_ID 0x5690
|
||||
+#define OV5690_ID 0x5690
|
||||
+#define OV5693_ID 0x5693
|
||||
|
||||
#define OV5693_FINE_INTG_TIME_MIN 0
|
||||
#define OV5693_FINE_INTG_TIME_MAX_MARGIN 0
|
||||
diff --git a/drivers/staging/media/atomisp/platform/intel-mid/atomisp_gmin_platform.c b/drivers/staging/media/atomisp/platform/intel-mid/atomisp_gmin_platform.c
|
||||
index bf9f34b..6797ba1 100644
|
||||
--- a/drivers/staging/media/atomisp/platform/intel-mid/atomisp_gmin_platform.c
|
||||
+++ b/drivers/staging/media/atomisp/platform/intel-mid/atomisp_gmin_platform.c
|
||||
@@ -251,11 +251,13 @@ static const struct gmin_cfg_var ecs7_vars[] = {
|
||||
{"INT33BE:00_CsiFmt", "13"},
|
||||
{"INT33BE:00_CsiBayer", "2"},
|
||||
{"INT33BE:00_CamClk", "0"},
|
||||
+ {"INT33BE:00_ClkSrc", "1"},
|
||||
{"INT33F0:00_CsiPort", "0"},
|
||||
{"INT33F0:00_CsiLanes", "1"},
|
||||
{"INT33F0:00_CsiFmt", "13"},
|
||||
{"INT33F0:00_CsiBayer", "0"},
|
||||
{"INT33F0:00_CamClk", "1"},
|
||||
+ {"INT33BE:00_I2CAddr", "-1"},
|
||||
{"gmin_V2P8GPIO", "402"},
|
||||
{},
|
||||
};
|
||||
@@ -280,6 +282,8 @@ static const struct {
|
||||
{ "MRD7", mrd7_vars },
|
||||
{ "ST70408", ecs7_vars },
|
||||
{ "VTA0803", i8880_vars },
|
||||
+ { "Surface Book" , ecs7_vars } ,
|
||||
+ { "Surface Pro 4" , ecs7_vars } ,
|
||||
};
|
||||
|
||||
|
6051
patches-4.15/ipts.patch
Normal file
6051
patches-4.15/ipts.patch
Normal file
File diff suppressed because it is too large
Load diff
153
patches-4.15/keyboards_and_covers.patch
Normal file
153
patches-4.15/keyboards_and_covers.patch
Normal file
|
@ -0,0 +1,153 @@
|
|||
From 0c1ec9426772daa2d4cedc2eae807419eba9abfb Mon Sep 17 00:00:00 2001
|
||||
From: Jake Day <jake@ninebysix.com>
|
||||
Date: Fri, 2 Feb 2018 11:23:08 -0500
|
||||
Subject: support for surface keyboards and covers
|
||||
|
||||
|
||||
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
|
||||
index 0c3f608..b0e22c0 100644
|
||||
--- a/drivers/hid/hid-core.c
|
||||
+++ b/drivers/hid/hid-core.c
|
||||
@@ -723,7 +723,8 @@ static void hid_scan_collection(struct hid_parser *parser, unsigned type)
|
||||
hid->group = HID_GROUP_SENSOR_HUB;
|
||||
|
||||
if (hid->vendor == USB_VENDOR_ID_MICROSOFT &&
|
||||
- hid->product == USB_DEVICE_ID_MS_POWER_COVER &&
|
||||
+ (hid->product == USB_DEVICE_ID_MS_SURFACE_LAPTOP ||
|
||||
+ hid->product == USB_DEVICE_ID_MS_POWER_COVER) &&
|
||||
hid->group == HID_GROUP_MULTITOUCH)
|
||||
hid->group = HID_GROUP_GENERIC;
|
||||
|
||||
@@ -2183,6 +2184,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_7K) },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_600) },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_3KV1) },
|
||||
+ { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_LAPTOP) },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER) },
|
||||
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_PRESENTER_8K_BT) },
|
||||
#endif
|
||||
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
|
||||
index 5da3d62..1295dcb 100644
|
||||
--- a/drivers/hid/hid-ids.h
|
||||
+++ b/drivers/hid/hid-ids.h
|
||||
@@ -767,11 +767,21 @@
|
||||
#define USB_DEVICE_ID_MS_DIGITAL_MEDIA_3KV1 0x0732
|
||||
#define USB_DEVICE_ID_MS_DIGITAL_MEDIA_600 0x0750
|
||||
#define USB_DEVICE_ID_MS_COMFORT_MOUSE_4500 0x076c
|
||||
-#define USB_DEVICE_ID_MS_COMFORT_KEYBOARD 0x00e3
|
||||
-#define USB_DEVICE_ID_MS_SURFACE_PRO_2 0x0799
|
||||
-#define USB_DEVICE_ID_MS_TOUCH_COVER_2 0x07a7
|
||||
-#define USB_DEVICE_ID_MS_TYPE_COVER_2 0x07a9
|
||||
-#define USB_DEVICE_ID_MS_POWER_COVER 0x07da
|
||||
+#define USB_DEVICE_ID_MS_COMFORT_KEYBOARD 0x00e3
|
||||
+#define USB_DEVICE_ID_MS_SURFACE_PRO_2 0x0799
|
||||
+#define USB_DEVICE_ID_MS_TOUCH_COVER_2 0x07a7
|
||||
+#define USB_DEVICE_ID_MS_TYPE_COVER_2 0x07a9
|
||||
+#define USB_DEVICE_ID_MS_TYPE_COVER_3 0x07de
|
||||
+#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3 0x07dc
|
||||
+#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_1 0x07de
|
||||
+#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2 0x07e2
|
||||
+#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP 0x07dd
|
||||
+#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_4 0x07e8
|
||||
+#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_1 0x07e4
|
||||
+#define USB_DEVICE_ID_MS_SURFACE_BOOK 0x07cd
|
||||
+#define USB_DEVICE_ID_MS_SURFACE_BOOK_2 0x0922
|
||||
+#define USB_DEVICE_ID_MS_SURFACE_LAPTOP 0xf001
|
||||
+#define USB_DEVICE_ID_MS_POWER_COVER 0x07da
|
||||
|
||||
#define USB_VENDOR_ID_MOJO 0x8282
|
||||
#define USB_DEVICE_ID_RETRO_ADAPTER 0x3201
|
||||
diff --git a/drivers/hid/hid-microsoft.c b/drivers/hid/hid-microsoft.c
|
||||
index 96e7d32..9127164 100644
|
||||
--- a/drivers/hid/hid-microsoft.c
|
||||
+++ b/drivers/hid/hid-microsoft.c
|
||||
@@ -274,6 +274,8 @@ static const struct hid_device_id ms_devices[] = {
|
||||
.driver_data = MS_NOGET },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_COMFORT_MOUSE_4500),
|
||||
.driver_data = MS_DUPLICATE_USAGES },
|
||||
+ { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_LAPTOP),
|
||||
+ .driver_data = MS_HIDINPUT },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER),
|
||||
.driver_data = MS_HIDINPUT },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_COMFORT_KEYBOARD),
|
||||
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
|
||||
index 65ea23b..dd416e9 100644
|
||||
--- a/drivers/hid/hid-multitouch.c
|
||||
+++ b/drivers/hid/hid-multitouch.c
|
||||
@@ -1638,6 +1638,52 @@ static const struct hid_device_id mt_devices[] = {
|
||||
HID_USB_DEVICE(USB_VENDOR_ID_LG,
|
||||
USB_DEVICE_ID_LG_MELFAS_MT) },
|
||||
|
||||
+ /* Microsoft Touch Cover */
|
||||
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
||||
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
||||
+ USB_DEVICE_ID_MS_TOUCH_COVER_2) },
|
||||
+
|
||||
+ /* Microsoft Type Cover */
|
||||
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
||||
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
||||
+ USB_DEVICE_ID_MS_TYPE_COVER_2) },
|
||||
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
||||
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
||||
+ USB_DEVICE_ID_MS_TYPE_COVER_3) },
|
||||
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
||||
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
||||
+ USB_DEVICE_ID_MS_TYPE_COVER_PRO_3) },
|
||||
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
||||
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
||||
+ USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_1) },
|
||||
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
||||
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
||||
+ USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2) },
|
||||
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
||||
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
||||
+ USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP) },
|
||||
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
||||
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
||||
+ USB_DEVICE_ID_MS_TYPE_COVER_PRO_4) },
|
||||
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
||||
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
||||
+ USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_1) },
|
||||
+
|
||||
+ /* Microsoft Surface Book */
|
||||
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
||||
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
||||
+ USB_DEVICE_ID_MS_SURFACE_BOOK) },
|
||||
+
|
||||
+ /* Microsoft Surface Book 2 */
|
||||
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
||||
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
||||
+ USB_DEVICE_ID_MS_SURFACE_BOOK_2) },
|
||||
+
|
||||
+ /* Microsoft Power Cover */
|
||||
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
|
||||
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
|
||||
+ USB_DEVICE_ID_MS_POWER_COVER) },
|
||||
+
|
||||
/* MosArt panels */
|
||||
{ .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE,
|
||||
MT_USB_DEVICE(USB_VENDOR_ID_ASUS,
|
||||
diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
|
||||
index 331f7f3..6ff429f 100644
|
||||
--- a/drivers/hid/usbhid/hid-quirks.c
|
||||
+++ b/drivers/hid/usbhid/hid-quirks.c
|
||||
@@ -108,8 +108,18 @@ static const struct hid_blacklist {
|
||||
{ USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_MOUSE_C06A, HID_QUIRK_ALWAYS_POLL },
|
||||
{ USB_VENDOR_ID_MGE, USB_DEVICE_ID_MGE_UPS, HID_QUIRK_NOGET },
|
||||
{ USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_PRO_2, HID_QUIRK_NO_INIT_REPORTS },
|
||||
- { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_2, HID_QUIRK_NO_INIT_REPORTS },
|
||||
{ USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TOUCH_COVER_2, HID_QUIRK_NO_INIT_REPORTS },
|
||||
+ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_2, HID_QUIRK_NO_INIT_REPORTS },
|
||||
+ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_3, HID_QUIRK_NO_INIT_REPORTS },
|
||||
+ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3, HID_QUIRK_NO_INIT_REPORTS },
|
||||
+ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_1, HID_QUIRK_NO_INIT_REPORTS },
|
||||
+ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2, HID_QUIRK_NO_INIT_REPORTS },
|
||||
+ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP, HID_QUIRK_NO_INIT_REPORTS },
|
||||
+ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4, HID_QUIRK_NO_INIT_REPORTS },
|
||||
+ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_1, HID_QUIRK_NO_INIT_REPORTS },
|
||||
+ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_BOOK, HID_QUIRK_NO_INIT_REPORTS },
|
||||
+ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_BOOK_2, HID_QUIRK_NO_INIT_REPORTS },
|
||||
+ { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_LAPTOP, HID_QUIRK_NO_INIT_REPORTS },
|
||||
{ USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER, HID_QUIRK_NO_INIT_REPORTS },
|
||||
{ USB_VENDOR_ID_MSI, USB_DEVICE_ID_MSI_GT683R_LED_PANEL, HID_QUIRK_NO_INIT_REPORTS },
|
||||
{ USB_VENDOR_ID_NEXIO, USB_DEVICE_ID_NEXIO_MULTITOUCH_PTI0750, HID_QUIRK_NO_INIT_REPORTS },
|
20
patches-4.15/sdcard_reader.patch
Normal file
20
patches-4.15/sdcard_reader.patch
Normal file
|
@ -0,0 +1,20 @@
|
|||
From fbd83f772a3be3a00bae323f6d71a59b26352c57 Mon Sep 17 00:00:00 2001
|
||||
From: Jake Day <jake@ninebysix.com>
|
||||
Date: Fri, 2 Feb 2018 11:22:21 -0500
|
||||
Subject: fix for surface sd card reader
|
||||
|
||||
|
||||
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
|
||||
index cf7bbcb..826fdb8 100644
|
||||
--- a/drivers/usb/core/hub.c
|
||||
+++ b/drivers/usb/core/hub.c
|
||||
@@ -4047,7 +4047,8 @@ void usb_enable_lpm(struct usb_device *udev)
|
||||
if (!udev || !udev->parent ||
|
||||
udev->speed < USB_SPEED_SUPER ||
|
||||
!udev->lpm_capable ||
|
||||
- udev->state < USB_STATE_DEFAULT)
|
||||
+ udev->state < USB_STATE_DEFAULT ||
|
||||
+ !udev->bos || !udev->bos->ss_cap)
|
||||
return;
|
||||
|
||||
udev->lpm_disable_count--;
|
36
patches-4.15/surfacedock.patch
Normal file
36
patches-4.15/surfacedock.patch
Normal file
|
@ -0,0 +1,36 @@
|
|||
From 3600aaa37a16777a07aa34672f12e30a1ae4d95b Mon Sep 17 00:00:00 2001
|
||||
From: Jake Day <jake@ninebysix.com>
|
||||
Date: Fri, 2 Feb 2018 11:21:06 -0500
|
||||
Subject: support for surface dock
|
||||
|
||||
|
||||
diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c
|
||||
index 05dca3e..59c2fcc 100644
|
||||
--- a/drivers/net/usb/cdc_ether.c
|
||||
+++ b/drivers/net/usb/cdc_ether.c
|
||||
@@ -807,13 +807,6 @@ static const struct usb_device_id products[] = {
|
||||
.driver_info = 0,
|
||||
},
|
||||
|
||||
-/* Microsoft Surface 3 dock (based on Realtek RTL8153) */
|
||||
-{
|
||||
- USB_DEVICE_AND_INTERFACE_INFO(MICROSOFT_VENDOR_ID, 0x07c6, USB_CLASS_COMM,
|
||||
- USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE),
|
||||
- .driver_info = 0,
|
||||
-},
|
||||
-
|
||||
/* TP-LINK UE300 USB 3.0 Ethernet Adapters (based on Realtek RTL8153) */
|
||||
{
|
||||
USB_DEVICE_AND_INTERFACE_INFO(TPLINK_VENDOR_ID, 0x0601, USB_CLASS_COMM,
|
||||
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
|
||||
index 0657203..0a52ea0 100644
|
||||
--- a/drivers/net/usb/r8152.c
|
||||
+++ b/drivers/net/usb/r8152.c
|
||||
@@ -5323,7 +5323,6 @@ static const struct usb_device_id rtl8152_table[] = {
|
||||
{REALTEK_USB_DEVICE(VENDOR_ID_REALTEK, 0x8152)},
|
||||
{REALTEK_USB_DEVICE(VENDOR_ID_REALTEK, 0x8153)},
|
||||
{REALTEK_USB_DEVICE(VENDOR_ID_MICROSOFT, 0x07ab)},
|
||||
- {REALTEK_USB_DEVICE(VENDOR_ID_MICROSOFT, 0x07c6)},
|
||||
{REALTEK_USB_DEVICE(VENDOR_ID_SAMSUNG, 0xa101)},
|
||||
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x304f)},
|
||||
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3062)},
|
173
patches-4.15/wifi.patch
Normal file
173
patches-4.15/wifi.patch
Normal file
|
@ -0,0 +1,173 @@
|
|||
From a359b5adc91cb9f2d3cc07705d804ef60bf6e4e3 Mon Sep 17 00:00:00 2001
|
||||
From: Jake Day <jake@ninebysix.com>
|
||||
Date: Fri, 2 Feb 2018 12:57:32 -0500
|
||||
Subject: fixes for marvell mwifiex
|
||||
|
||||
|
||||
diff --git a/drivers/net/wireless/marvell/mwifiex/11n_aggr.c b/drivers/net/wireless/marvell/mwifiex/11n_aggr.c
|
||||
index 042a1d0..fc9041f 100644
|
||||
--- a/drivers/net/wireless/marvell/mwifiex/11n_aggr.c
|
||||
+++ b/drivers/net/wireless/marvell/mwifiex/11n_aggr.c
|
||||
@@ -200,8 +200,7 @@ mwifiex_11n_aggregate_pkt(struct mwifiex_private *priv,
|
||||
|
||||
do {
|
||||
/* Check if AMSDU can accommodate this MSDU */
|
||||
- if ((skb_aggr->len + skb_src->len + LLC_SNAP_LEN) >
|
||||
- adapter->tx_buf_size)
|
||||
+ if (skb_tailroom(skb_aggr) < (skb_src->len + LLC_SNAP_LEN))
|
||||
break;
|
||||
|
||||
skb_src = skb_dequeue(&pra_list->skb_head);
|
||||
diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
|
||||
index 6e0d9a9..d008687 100644
|
||||
--- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
|
||||
+++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
|
||||
@@ -416,6 +416,9 @@ mwifiex_cfg80211_set_power_mgmt(struct wiphy *wiphy,
|
||||
|
||||
ps_mode = enabled;
|
||||
|
||||
+ mwifiex_dbg(priv->adapter, ERROR, "overriding ps_mode to false\n");
|
||||
+ ps_mode = 0;
|
||||
+
|
||||
return mwifiex_drv_set_power(priv, &ps_mode);
|
||||
}
|
||||
|
||||
diff --git a/drivers/net/wireless/marvell/mwifiex/init.c b/drivers/net/wireless/marvell/mwifiex/init.c
|
||||
index e1aa860..328829b 100644
|
||||
--- a/drivers/net/wireless/marvell/mwifiex/init.c
|
||||
+++ b/drivers/net/wireless/marvell/mwifiex/init.c
|
||||
@@ -60,7 +60,7 @@ static void wakeup_timer_fn(struct timer_list *t)
|
||||
adapter->hw_status = MWIFIEX_HW_STATUS_RESET;
|
||||
mwifiex_cancel_all_pending_cmd(adapter);
|
||||
|
||||
- if (adapter->if_ops.card_reset && !adapter->hs_activated)
|
||||
+ if (adapter->if_ops.card_reset)
|
||||
adapter->if_ops.card_reset(adapter);
|
||||
}
|
||||
|
||||
diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c
|
||||
index cd31494..50df1c0 100644
|
||||
--- a/drivers/net/wireless/marvell/mwifiex/pcie.c
|
||||
+++ b/drivers/net/wireless/marvell/mwifiex/pcie.c
|
||||
@@ -310,6 +310,8 @@ static void mwifiex_pcie_remove(struct pci_dev *pdev)
|
||||
mwifiex_init_shutdown_fw(priv, MWIFIEX_FUNC_SHUTDOWN);
|
||||
}
|
||||
|
||||
+ cancel_work_sync(&card->work);
|
||||
+
|
||||
mwifiex_remove_card(adapter);
|
||||
}
|
||||
|
||||
@@ -1729,6 +1731,16 @@ static int mwifiex_pcie_process_cmd_complete(struct mwifiex_adapter *adapter)
|
||||
}
|
||||
|
||||
rx_len = get_unaligned_le16(skb->data);
|
||||
+
|
||||
+
|
||||
+ if (rx_len == 0) {
|
||||
+ mwifiex_dbg(adapter, ERROR,
|
||||
+ "0 byte cmdrsp\n");
|
||||
+ mwifiex_map_pci_memory(adapter, skb, MWIFIEX_UPLD_SIZE,
|
||||
+ PCI_DMA_FROMDEVICE);
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
skb_put(skb, MWIFIEX_UPLD_SIZE - skb->len);
|
||||
skb_trim(skb, rx_len);
|
||||
|
||||
diff --git a/drivers/net/wireless/marvell/mwifiex/sdio.c b/drivers/net/wireless/marvell/mwifiex/sdio.c
|
||||
index fd5183c..832824a 100644
|
||||
--- a/drivers/net/wireless/marvell/mwifiex/sdio.c
|
||||
+++ b/drivers/net/wireless/marvell/mwifiex/sdio.c
|
||||
@@ -399,6 +399,8 @@ mwifiex_sdio_remove(struct sdio_func *func)
|
||||
mwifiex_init_shutdown_fw(priv, MWIFIEX_FUNC_SHUTDOWN);
|
||||
}
|
||||
|
||||
+ cancel_work_sync(&card->work);
|
||||
+
|
||||
mwifiex_remove_card(adapter);
|
||||
}
|
||||
|
||||
diff --git a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
|
||||
index fb09014..5b8329e 100644
|
||||
--- a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
|
||||
+++ b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
|
||||
@@ -2313,7 +2313,7 @@ int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init)
|
||||
if (ret)
|
||||
return -1;
|
||||
|
||||
- if (priv->bss_type != MWIFIEX_BSS_TYPE_UAP) {
|
||||
+ if (0 && priv->bss_type != MWIFIEX_BSS_TYPE_UAP) {
|
||||
/* Enable IEEE PS by default */
|
||||
priv->adapter->ps_mode = MWIFIEX_802_11_POWER_MODE_PSP;
|
||||
ret = mwifiex_send_cmd(priv,
|
||||
@@ -2336,8 +2336,8 @@ int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init)
|
||||
return -1;
|
||||
}
|
||||
|
||||
- mwifiex_send_cmd(priv, HostCmd_CMD_CHAN_REGION_CFG,
|
||||
- HostCmd_ACT_GEN_GET, 0, NULL, true);
|
||||
+ //mwifiex_send_cmd(priv, HostCmd_CMD_CHAN_REGION_CFG,
|
||||
+ // HostCmd_ACT_GEN_GET, 0, NULL, true);
|
||||
}
|
||||
|
||||
/* get tx rate */
|
||||
@@ -2369,7 +2369,7 @@ int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init)
|
||||
if (ret)
|
||||
return -1;
|
||||
|
||||
- if (!disable_auto_ds && first_sta &&
|
||||
+ if (0 && !disable_auto_ds && first_sta &&
|
||||
priv->bss_type != MWIFIEX_BSS_TYPE_UAP) {
|
||||
/* Enable auto deep sleep */
|
||||
auto_ds.auto_ds = DEEP_SLEEP_ON;
|
||||
diff --git a/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c b/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
|
||||
index 1bd4e13..27d2bac 100644
|
||||
--- a/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
|
||||
+++ b/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
|
||||
@@ -48,9 +48,14 @@ mwifiex_process_cmdresp_error(struct mwifiex_private *priv,
|
||||
struct host_cmd_ds_802_11_ps_mode_enh *pm;
|
||||
unsigned long flags;
|
||||
|
||||
- mwifiex_dbg(adapter, ERROR,
|
||||
- "CMD_RESP: cmd %#x error, result=%#x\n",
|
||||
- resp->command, resp->result);
|
||||
+ if (resp->command == 271 && resp->result == 2){
|
||||
+ // ignore this command as the firmware does not support it
|
||||
+ }
|
||||
+ else {
|
||||
+ mwifiex_dbg(adapter, ERROR,
|
||||
+ "CMD_RESP: cmd %#x error, result=%#x\n",
|
||||
+ resp->command, resp->result);
|
||||
+ }
|
||||
|
||||
if (adapter->curr_cmd->wait_q_enabled)
|
||||
adapter->cmd_wait_q.status = -1;
|
||||
diff --git a/net/wireless/sme.c b/net/wireless/sme.c
|
||||
index fdb3646..b44b23b 100644
|
||||
--- a/net/wireless/sme.c
|
||||
+++ b/net/wireless/sme.c
|
||||
@@ -690,6 +690,11 @@ void __cfg80211_connect_result(struct net_device *dev,
|
||||
return;
|
||||
}
|
||||
|
||||
+ if (WARN_ON(!wdev->ssid_len)) {
|
||||
+ cfg80211_put_bss(wdev->wiphy, cr->bss);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
nl80211_send_connect_result(wiphy_to_rdev(wdev->wiphy), dev, cr,
|
||||
GFP_KERNEL);
|
||||
|
||||
@@ -1105,7 +1110,7 @@ int cfg80211_connect(struct cfg80211_registered_device *rdev,
|
||||
/*
|
||||
* If we have an ssid_len, we're trying to connect or are
|
||||
* already connected, so reject a new SSID unless it's the
|
||||
- * same (which is the case for re-association.)
|
||||
+ * same (which is the case for Re-Association.
|
||||
*/
|
||||
if (wdev->ssid_len &&
|
||||
(wdev->ssid_len != connect->ssid_len ||
|
||||
diff --git a/scripts/leaking_addresses.pl b/scripts/leaking_addresses.pl
|
||||
old mode 100755
|
||||
new mode 100644
|
Loading…
Reference in a new issue