config for newest 4.19, remove the problem patch

This commit is contained in:
Hal Emmerich 2019-08-17 17:01:46 -05:00
parent c59981e5bc
commit cbb4c99221
2 changed files with 10 additions and 106 deletions

View File

@ -1,6 +1,6 @@
# #
# Automatically generated file; DO NOT EDIT. # Automatically generated file; DO NOT EDIT.
# Linux/arm 4.19.53-gnu Kernel Configuration # Linux/arm 4.19.67-gnu Kernel Configuration
# #
# #
@ -1441,7 +1441,7 @@ CONFIG_SWPHY=y
# #
# CONFIG_AMD_PHY is not set # CONFIG_AMD_PHY is not set
# CONFIG_AQUANTIA_PHY is not set # CONFIG_AQUANTIA_PHY is not set
# CONFIG_ASIX_PHY is not set # CONFIG_AX88796B_PHY is not set
# CONFIG_AT803X_PHY is not set # CONFIG_AT803X_PHY is not set
# CONFIG_BCM7XXX_PHY is not set # CONFIG_BCM7XXX_PHY is not set
# CONFIG_BCM87XX_PHY is not set # CONFIG_BCM87XX_PHY is not set
@ -1525,15 +1525,18 @@ CONFIG_WLAN=y
# CONFIG_WLAN_VENDOR_ADMTEK is not set # CONFIG_WLAN_VENDOR_ADMTEK is not set
CONFIG_ATH_COMMON=y CONFIG_ATH_COMMON=y
CONFIG_WLAN_VENDOR_ATH=y CONFIG_WLAN_VENDOR_ATH=y
# CONFIG_ATH_DEBUG is not set CONFIG_ATH_DEBUG=y
# CONFIG_ATH_TRACEPOINTS is not set
# CONFIG_ATH5K is not set # CONFIG_ATH5K is not set
# CONFIG_ATH5K_PCI is not set # CONFIG_ATH5K_PCI is not set
CONFIG_ATH9K_HW=y CONFIG_ATH9K_HW=y
CONFIG_ATH9K_COMMON=y CONFIG_ATH9K_COMMON=y
CONFIG_ATH9K_COMMON_DEBUG=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y CONFIG_ATH9K_BTCOEX_SUPPORT=y
# CONFIG_ATH9K is not set # CONFIG_ATH9K is not set
CONFIG_ATH9K_HTC=y CONFIG_ATH9K_HTC=y
# CONFIG_ATH9K_HTC_DEBUGFS is not set CONFIG_ATH9K_HTC_DEBUGFS=y
# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_CARL9170=y CONFIG_CARL9170=y
CONFIG_CARL9170_LEDS=y CONFIG_CARL9170_LEDS=y
CONFIG_CARL9170_WPC=y CONFIG_CARL9170_WPC=y
@ -2906,8 +2909,10 @@ CONFIG_USB_DWC2_HOST=y
# Gadget/Dual-role mode requires USB Gadget support to be enabled # Gadget/Dual-role mode requires USB Gadget support to be enabled
# #
# CONFIG_USB_DWC2_PCI is not set # CONFIG_USB_DWC2_PCI is not set
# CONFIG_USB_DWC2_DEBUG is not set CONFIG_USB_DWC2_DEBUG=y
# CONFIG_USB_DWC2_VERBOSE is not set
# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set # CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
# CONFIG_USB_DWC2_DEBUG_PERIODIC is not set
# CONFIG_USB_CHIPIDEA is not set # CONFIG_USB_CHIPIDEA is not set
# CONFIG_USB_ISP1760 is not set # CONFIG_USB_ISP1760 is not set

View File

@ -1,101 +0,0 @@
FROM: Solidhal <hal@halemmerich.com>
This patch reverses commit 2b721118b7821107757eb1d37af4b60e877b27e7, as can bee seen here:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2b721118b7821107757eb1d37af4b60e877b27e7
This commit caused issues on veyron speedy with ath9k and dwc2 drivers. Any ath9k device (ar9271)
would intermittently work, most of the time ending in errors as can bee seen here:
https://github.com/SolidHal/PrawnOS/issues/38
This commit fixes that issue.
This is only a temporary work around while a permenant fix is found, as this commit seems to only cause issues
with dwc2
diff --git a/drivers/net/wireless/ath/ath9k/hif_usb.c b/drivers/net/wireless/ath/ath9k/hif_usb.c
--- b/drivers/net/wireless/ath/ath9k/hif_usb.c
+++ a/drivers/net/wireless/ath/ath9k/hif_usb.c
@@ -115,10 +115,10 @@
cmd->skb = skb;
cmd->hif_dev = hif_dev;
+ usb_fill_bulk_urb(urb, hif_dev->udev,
+ usb_sndbulkpipe(hif_dev->udev, USB_REG_OUT_PIPE),
- usb_fill_int_urb(urb, hif_dev->udev,
- usb_sndintpipe(hif_dev->udev, USB_REG_OUT_PIPE),
skb->data, skb->len,
+ hif_usb_regout_cb, cmd);
- hif_usb_regout_cb, cmd, 1);
usb_anchor_urb(urb, &hif_dev->regout_submitted);
ret = usb_submit_urb(urb, GFP_KERNEL);
@@ -723,11 +723,11 @@
return;
}
+ usb_fill_bulk_urb(urb, hif_dev->udev,
+ usb_rcvbulkpipe(hif_dev->udev,
- usb_fill_int_urb(urb, hif_dev->udev,
- usb_rcvintpipe(hif_dev->udev,
USB_REG_IN_PIPE),
nskb->data, MAX_REG_IN_BUF_SIZE,
+ ath9k_hif_usb_reg_in_cb, nskb);
- ath9k_hif_usb_reg_in_cb, nskb, 1);
}
resubmit:
@@ -909,11 +909,11 @@
goto err_skb;
}
+ usb_fill_bulk_urb(urb, hif_dev->udev,
+ usb_rcvbulkpipe(hif_dev->udev,
- usb_fill_int_urb(urb, hif_dev->udev,
- usb_rcvintpipe(hif_dev->udev,
USB_REG_IN_PIPE),
skb->data, MAX_REG_IN_BUF_SIZE,
+ ath9k_hif_usb_reg_in_cb, skb);
- ath9k_hif_usb_reg_in_cb, skb, 1);
/* Anchor URB */
usb_anchor_urb(urb, &hif_dev->reg_in_submitted);
@@ -1031,7 +1031,9 @@
static int ath9k_hif_usb_dev_init(struct hif_device_usb *hif_dev)
{
+ struct usb_host_interface *alt = &hif_dev->interface->altsetting[0];
+ struct usb_endpoint_descriptor *endp;
+ int ret, idx;
- int ret;
ret = ath9k_hif_usb_download_fw(hif_dev);
if (ret) {
@@ -1041,6 +1043,20 @@
return ret;
}
+ /* On downloading the firmware to the target, the USB descriptor of EP4
+ * is 'patched' to change the type of the endpoint to Bulk. This will
+ * bring down CPU usage during the scan period.
+ */
+ for (idx = 0; idx < alt->desc.bNumEndpoints; idx++) {
+ endp = &alt->endpoint[idx].desc;
+ if ((endp->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK)
+ == USB_ENDPOINT_XFER_INT) {
+ endp->bmAttributes &= ~USB_ENDPOINT_XFERTYPE_MASK;
+ endp->bmAttributes |= USB_ENDPOINT_XFER_BULK;
+ endp->bInterval = 0;
+ }
+ }
+
/* Alloc URBs */
ret = ath9k_hif_usb_alloc_urbs(hif_dev);
if (ret) {
@@ -1252,7 +1268,7 @@
if (!buf)
return;
+ ret = usb_bulk_msg(udev, usb_sndbulkpipe(udev, USB_REG_OUT_PIPE),
- ret = usb_interrupt_msg(udev, usb_sndintpipe(udev, USB_REG_OUT_PIPE),
buf, 4, NULL, USB_MSG_TIMEOUT);
if (ret)
dev_err(&udev->dev, "ath9k_htc: USB reboot failed\n");