mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Several cases of bug fixes in 'net' overlapping other changes in 'net-next-. Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
commit
bb598c1b8c
580 changed files with 7286 additions and 4003 deletions
|
|
@ -932,8 +932,6 @@ static int wait_serial_change(struct acm *acm, unsigned long arg)
|
|||
DECLARE_WAITQUEUE(wait, current);
|
||||
struct async_icount old, new;
|
||||
|
||||
if (arg & (TIOCM_DSR | TIOCM_RI | TIOCM_CD))
|
||||
return -EINVAL;
|
||||
do {
|
||||
spin_lock_irq(&acm->read_lock);
|
||||
old = acm->oldcount;
|
||||
|
|
@ -1161,6 +1159,8 @@ static int acm_probe(struct usb_interface *intf,
|
|||
if (quirks == IGNORE_DEVICE)
|
||||
return -ENODEV;
|
||||
|
||||
memset(&h, 0x00, sizeof(struct usb_cdc_parsed_header));
|
||||
|
||||
num_rx_buf = (quirks == SINGLE_RX_URB) ? 1 : ACM_NR;
|
||||
|
||||
/* handle quirks deadly to normal probing*/
|
||||
|
|
|
|||
|
|
@ -769,15 +769,14 @@ static int dwc3_core_init(struct dwc3 *dwc)
|
|||
return 0;
|
||||
|
||||
err4:
|
||||
phy_power_off(dwc->usb2_generic_phy);
|
||||
phy_power_off(dwc->usb3_generic_phy);
|
||||
|
||||
err3:
|
||||
phy_power_off(dwc->usb3_generic_phy);
|
||||
phy_power_off(dwc->usb2_generic_phy);
|
||||
|
||||
err2:
|
||||
usb_phy_set_suspend(dwc->usb2_phy, 1);
|
||||
usb_phy_set_suspend(dwc->usb3_phy, 1);
|
||||
dwc3_core_exit(dwc);
|
||||
|
||||
err1:
|
||||
usb_phy_shutdown(dwc->usb2_phy);
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
#include <linux/slab.h>
|
||||
#include <linux/regmap.h>
|
||||
#include <linux/reset.h>
|
||||
#include <linux/pinctrl/consumer.h>
|
||||
#include <linux/usb/of.h>
|
||||
|
||||
#include "core.h"
|
||||
|
|
|
|||
|
|
@ -579,14 +579,6 @@ static netdev_tx_t eth_start_xmit(struct sk_buff *skb,
|
|||
|
||||
req->length = length;
|
||||
|
||||
/* throttle high/super speed IRQ rate back slightly */
|
||||
if (gadget_is_dualspeed(dev->gadget))
|
||||
req->no_interrupt = (((dev->gadget->speed == USB_SPEED_HIGH ||
|
||||
dev->gadget->speed == USB_SPEED_SUPER)) &&
|
||||
!list_empty(&dev->tx_reqs))
|
||||
? ((atomic_read(&dev->tx_qlen) % dev->qmult) != 0)
|
||||
: 0;
|
||||
|
||||
retval = usb_ep_queue(in, req, GFP_ATOMIC);
|
||||
switch (retval) {
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -995,6 +995,14 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
|
|||
}
|
||||
val = readl(base + ext_cap_offset);
|
||||
|
||||
/* Auto handoff never worked for these devices. Force it and continue */
|
||||
if ((pdev->vendor == PCI_VENDOR_ID_TI && pdev->device == 0x8241) ||
|
||||
(pdev->vendor == PCI_VENDOR_ID_RENESAS
|
||||
&& pdev->device == 0x0014)) {
|
||||
val = (val | XHCI_HC_OS_OWNED) & ~XHCI_HC_BIOS_OWNED;
|
||||
writel(val, base + ext_cap_offset);
|
||||
}
|
||||
|
||||
/* If the BIOS owns the HC, signal that the OS wants it, and wait */
|
||||
if (val & XHCI_HC_BIOS_OWNED) {
|
||||
writel(val | XHCI_HC_OS_OWNED, base + ext_cap_offset);
|
||||
|
|
|
|||
|
|
@ -479,7 +479,8 @@ static int da8xx_probe(struct platform_device *pdev)
|
|||
|
||||
glue->phy = devm_phy_get(&pdev->dev, "usb-phy");
|
||||
if (IS_ERR(glue->phy)) {
|
||||
dev_err(&pdev->dev, "failed to get phy\n");
|
||||
if (PTR_ERR(glue->phy) != -EPROBE_DEFER)
|
||||
dev_err(&pdev->dev, "failed to get phy\n");
|
||||
return PTR_ERR(glue->phy);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2114,11 +2114,6 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)
|
|||
musb->io.ep_offset = musb_flat_ep_offset;
|
||||
musb->io.ep_select = musb_flat_ep_select;
|
||||
}
|
||||
/* And override them with platform specific ops if specified. */
|
||||
if (musb->ops->ep_offset)
|
||||
musb->io.ep_offset = musb->ops->ep_offset;
|
||||
if (musb->ops->ep_select)
|
||||
musb->io.ep_select = musb->ops->ep_select;
|
||||
|
||||
/* At least tusb6010 has its own offsets */
|
||||
if (musb->ops->ep_offset)
|
||||
|
|
|
|||
Loading…
Reference in a new issue