RE: [PATCH 1/2] usb: chipiea: add flags for id and vbus from external block

2019-03-05 Thread Peter Chen
> >
> > > >
> > > >
> > > > >  drivers/usb/chipidea/core.c  | 2 ++
> > > > > include/linux/usb/chipidea.h
> > > > > |
> > > > > 4 
> > > > >  2 files changed, 6 insertions(+)
> > > > >
> > > > > diff --git a/drivers/usb/chipidea/core.c
> > > > > b/drivers/usb/chipidea/core.c index
> > > > > 7bfcbb2..0bfa850 100644
> > > > > --- a/drivers/usb/chipidea/core.c
> > > > > +++ b/drivers/usb/chipidea/core.c
> > > > > @@ -706,6 +706,7 @@ static int ci_get_platdata(struct device *dev,
> > > > >   cable->edev = ext_vbus;
> > > > >
> > > > >   if (!IS_ERR(ext_vbus)) {
> > > > > + platdata->ext_vbus = true;
> > > > >   ret = extcon_get_state(cable->edev, EXTCON_USB);
> > > > >   if (ret)
> > > > >   cable->connected = true;
> > > > > @@ -718,6 +719,7 @@ static int ci_get_platdata(struct device *dev,
> > > > >   cable->edev = ext_id;
> > > > >
> > > > >   if (!IS_ERR(ext_id)) {
> > > > > + platdata->ext_id = true;
> > > > >   ret = extcon_get_state(cable->edev, EXTCON_USB_HOST);
> > > > >   if (ret)
> > > > >   cable->connected = true;
> > > > > diff --git a/include/linux/usb/chipidea.h
> > > > > b/include/linux/usb/chipidea.h index
> > > > > 911e05a..cd72d82 100644
> > > > > --- a/include/linux/usb/chipidea.h
> > > > > +++ b/include/linux/usb/chipidea.h
> > > > > @@ -70,6 +70,10 @@ struct ci_hdrc_platform_data {
> > > > >   struct regulator*reg_vbus;
> > > > >   struct usb_otg_caps ci_otg_caps;
> > > > >   booltpl_support;
> > > > > + /* ID state is from external event out side of USB */
> > > > > + boolext_id;
> > > > > + /* VBUS state is from external event out side of USB */
> > > > > + boolext_vbus;
> > > >
> > > > We already have struct ci_hdrc_cable at this structure, please use it 
> > > > instead.
> > >
> > > I am going to extend ci_hdrc_cable also for type-C case, which has
> > > no edev, So it's OK to add a flag in ci_hdrc_cable for both edev and
> > > type-C to indicate external block is used?
> > >
> >
> > Why there is no external cable (edev) for Type-C case? If there is no
> > external cable phandle at controller dts, how driver knows the Type-C 
> > connection
> occurs?
> 
> The new usb_role class doesn't depends on edev, see how this can work on dwc3:
> https://patchwork.kernel.org/patch/10836519/
> 

I see, you could add role switch class for chipidea first, then put Type-C on 
it.

Peter



[PATCH] USB: gadget: f_hid: fix deadlock in f_hidg_write()

2019-03-05 Thread Radoslav Gerganov
In f_hidg_write() the write_spinlock is acquired before calling
usb_ep_queue() which causes a deadlock when dummy_hcd is being used.
This is because dummy_queue() callbacks into f_hidg_req_complete() which
tries to acquire the same spinlock. This is (part of) the backtrace when
the deadlock occurs:

  0xc06b1410 in f_hidg_req_complete
  0xc06a590a in usb_gadget_giveback_request
  0xc06cfff2 in dummy_queue
  0xc06a4b96 in usb_ep_queue
  0xc06b1eb6 in f_hidg_write
  0x8127730b in __vfs_write
  0x812774d1 in vfs_write
  0x81277725 in SYSC_write

Fix this by releasing the write_spinlock before calling usb_ep_queue()

Signed-off-by: Radoslav Gerganov 
---
 drivers/usb/gadget/function/f_hid.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/usb/gadget/function/f_hid.c 
b/drivers/usb/gadget/function/f_hid.c
index 54e859d..492bb44 100644
--- a/drivers/usb/gadget/function/f_hid.c
+++ b/drivers/usb/gadget/function/f_hid.c
@@ -391,20 +391,20 @@ static ssize_t f_hidg_write(struct file *file, const char 
__user *buffer,
req->complete = f_hidg_req_complete;
req->context  = hidg;
 
+   spin_unlock_irqrestore(&hidg->write_spinlock, flags);
+
status = usb_ep_queue(hidg->in_ep, req, GFP_ATOMIC);
if (status < 0) {
ERROR(hidg->func.config->cdev,
"usb_ep_queue error on int endpoint %zd\n", status);
-   goto release_write_pending_unlocked;
+   goto release_write_pending;
} else {
status = count;
}
-   spin_unlock_irqrestore(&hidg->write_spinlock, flags);
 
return status;
 release_write_pending:
spin_lock_irqsave(&hidg->write_spinlock, flags);
-release_write_pending_unlocked:
hidg->write_pending = 0;
spin_unlock_irqrestore(&hidg->write_spinlock, flags);
 
-- 
1.9.1



[PATCH] usb: dwc2: Fix channel disable flow

2019-03-05 Thread Minas Harutyunyan
Channel disabling/halting should performed for enabled only channels
to avoid warnings "Unable to clear enable on channel N" which seen
if host works in Slave mode.

Signed-off-by: Minas Harutyunyan 
---
 drivers/usb/dwc2/hcd.c | 34 --
 1 file changed, 20 insertions(+), 14 deletions(-)

diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c
index dd82fa516f3f..d0f9afa48c68 100644
--- a/drivers/usb/dwc2/hcd.c
+++ b/drivers/usb/dwc2/hcd.c
@@ -2437,25 +2437,31 @@ static void dwc2_core_host_init(struct dwc2_hsotg 
*hsotg)
num_channels = hsotg->params.host_channels;
for (i = 0; i < num_channels; i++) {
hcchar = dwc2_readl(hsotg, HCCHAR(i));
-   hcchar &= ~HCCHAR_CHENA;
-   hcchar |= HCCHAR_CHDIS;
-   hcchar &= ~HCCHAR_EPDIR;
-   dwc2_writel(hsotg, hcchar, HCCHAR(i));
+   if (hcchar & HCCHAR_CHENA) {
+   hcchar &= ~HCCHAR_CHENA;
+   hcchar |= HCCHAR_CHDIS;
+   hcchar &= ~HCCHAR_EPDIR;
+   dwc2_writel(hsotg, hcchar, HCCHAR(i));
+   }
}
 
/* Halt all channels to put them into a known state */
for (i = 0; i < num_channels; i++) {
hcchar = dwc2_readl(hsotg, HCCHAR(i));
-   hcchar |= HCCHAR_CHENA | HCCHAR_CHDIS;
-   hcchar &= ~HCCHAR_EPDIR;
-   dwc2_writel(hsotg, hcchar, HCCHAR(i));
-   dev_dbg(hsotg->dev, "%s: Halt channel %d\n",
-   __func__, i);
-
-   if (dwc2_hsotg_wait_bit_clear(hsotg, HCCHAR(i),
- HCCHAR_CHENA, 1000)) {
-   dev_warn(hsotg->dev, "Unable to clear enable on 
channel %d\n",
-i);
+   if (hcchar & HCCHAR_CHENA) {
+   hcchar |= HCCHAR_CHENA | HCCHAR_CHDIS;
+   hcchar &= ~HCCHAR_EPDIR;
+   dwc2_writel(hsotg, hcchar, HCCHAR(i));
+   dev_dbg(hsotg->dev, "%s: Halt channel %d\n",
+   __func__, i);
+
+   if (dwc2_hsotg_wait_bit_clear(hsotg, HCCHAR(i),
+ HCCHAR_CHENA,
+ 1000)) {
+   dev_warn(hsotg->dev,
+"Unable to clear enable on 
channel %d\n",
+i);
+   }
}
}
}
-- 
2.11.0



Re: MUSB interrupt storm on device removal

2019-03-05 Thread Måns Rullgård
Bin Liu  writes:

> On Wed, Jan 23, 2019 at 03:55:47PM +0100, Johan Hovold wrote:
>> On Wed, Jan 23, 2019 at 08:09:47AM -0600, Bin Liu wrote:
>> > On Wed, Jan 23, 2019 at 09:55:49AM +0100, Johan Hovold wrote:
>> > > On Wed, Jan 23, 2019 at 07:52:12AM +0100, Greg Kroah-Hartman wrote:
>> 
>> > > > That's not what any other host controller returns when a device is
>> > > > removed, so either you are going to have to fix all USB drives for this
>> > > > issue, or you need to fix the musb driver to not send this error for
>> > > > when a device is removed (hint, do the latter...)
>> > > 
>> > > Right, this needs to be handle at the HCD level.
>> > 
>> > Any reason usb_serial_generic_read_bulk_callback() doesn't handle
>> > -EPROTO in the same way as -EPIPE?
>> 
>> Since it is supposed to be intermittent unlike, for example, -ENOENT or
>> -EPIPE (the latter which the device driver can recover from if it cares
>> to implement clearing of halt).
>
> Okay, makes sense.
>
>> 
>> > > dwc2 fixed a similar lockup issue due to retried NAKed transaction by
>> > > not retrying immediately:
>> > > 
>> > >  38d2b5fb75c1 ("usb: dwc2: host: Don't retry NAKed transactions right 
>> > > away")
>> > 
>> > Both cases are all about device removal, but this musb case is slightly
>> > different from this dwc2 case.
>> > 
>> > It is all about re-transmitting which causes interrupt storm, but in
>> > this dwc2 case, it is the dwc2 driver doing the re-transmitting, so it
>> > makes sense to delay it in the dwc2 driver as this referred patch does,
>> >
>> > but in this musb case, musb driver reports transaction error to the usb
>> > serial driver, the usb serial driver issues the re-transmitting not the
>> > musb driver, so I don't think the delay should be added in the musb
>> > driver.
>> 
>> I didn't say it was exactly the same.
>
> Yeah, I know. My point was the fix is in the place where re-transmitting
> happens, but
>
>> My point was that unless you fix this at the HCD level, you will need to
>> add complex recovery handling to every USB driver and completion handler
>> (~500 of those). But perhaps that is what it needed.
>
> okay, it probably make sense to handle the case in HCD because the
> number of HCD is much less.
>
>> I do see now that of all USB drivers we have two drivers that handles
>> -EPROTO by resubmitting after a delay, while a handful explicitly deals
>> with -EPROTO by simply stopping to resubmit (some probably bail out on
>> all errors, but the majority appear to resubmit on -EPROTO).
>
> Thanks for the info.
> I will handle this case in musb driver.

What's happening to this?  There's no immediate urgency from my side,
but I don't want it to get forgotten either.

-- 
Måns Rullgård


Re: [PATCH v3 09/12] usb: dwc3: Registering a role switch in the DRD code.

2019-03-05 Thread kbuild test robot
Hi Yu,

I love your patch! Perhaps something to improve:

[auto build test WARNING on balbi-usb/next]
[also build test WARNING on v5.0 next-20190305]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Yu-Chen/Add-support-for-usb-on-Hikey960/20190305-062824
base:   https://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git next
reproduce: make htmldocs

All warnings (new ones prefixed by >>):

   WARNING: convert(1) not found, for SVG to PDF conversion install ImageMagick 
(https://www.imagemagick.org)
   include/linux/rcupdate_wait.h:1: warning: no structured comments found
   include/linux/rcutree.h:1: warning: no structured comments found
   kernel/rcu/tree.c:710: warning: Excess function parameter 'irq' description 
in 'rcu_nmi_exit'
   include/linux/gfp.h:1: warning: no structured comments found
   include/net/cfg80211.h:4687: warning: Function parameter or member 
'wext.ibss' not described in 'wireless_dev'
   include/net/cfg80211.h:4687: warning: Function parameter or member 
'wext.connect' not described in 'wireless_dev'
   include/net/cfg80211.h:4687: warning: Function parameter or member 
'wext.keys' not described in 'wireless_dev'
   include/net/cfg80211.h:4687: warning: Function parameter or member 'wext.ie' 
not described in 'wireless_dev'
   include/net/cfg80211.h:4687: warning: Function parameter or member 
'wext.ie_len' not described in 'wireless_dev'
   include/net/cfg80211.h:4687: warning: Function parameter or member 
'wext.bssid' not described in 'wireless_dev'
   include/net/cfg80211.h:4687: warning: Function parameter or member 
'wext.ssid' not described in 'wireless_dev'
   include/net/cfg80211.h:4687: warning: Function parameter or member 
'wext.default_key' not described in 'wireless_dev'
   include/net/cfg80211.h:4687: warning: Function parameter or member 
'wext.default_mgmt_key' not described in 'wireless_dev'
   include/net/cfg80211.h:4687: warning: Function parameter or member 
'wext.prev_bssid_valid' not described in 'wireless_dev'
   include/net/mac80211.h:2393: warning: Function parameter or member 
'radiotap_timestamp.units_pos' not described in 'ieee80211_hw'
   include/net/mac80211.h:2393: warning: Function parameter or member 
'radiotap_timestamp.accuracy' not described in 'ieee80211_hw'
   include/net/mac80211.h:1004: warning: Function parameter or member 
'control.rates' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:1004: warning: Function parameter or member 
'control.rts_cts_rate_idx' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:1004: warning: Function parameter or member 
'control.use_rts' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:1004: warning: Function parameter or member 
'control.use_cts_prot' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:1004: warning: Function parameter or member 
'control.short_preamble' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:1004: warning: Function parameter or member 
'control.skip_table' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:1004: warning: Function parameter or member 
'control.jiffies' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:1004: warning: Function parameter or member 
'control.vif' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:1004: warning: Function parameter or member 
'control.hw_key' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:1004: warning: Function parameter or member 
'control.flags' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:1004: warning: Function parameter or member 
'control.enqueue_time' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:1004: warning: Function parameter or member 'ack' not 
described in 'ieee80211_tx_info'
   include/net/mac80211.h:1004: warning: Function parameter or member 
'ack.cookie' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:1004: warning: Function parameter or member 
'status.rates' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:1004: warning: Function parameter or member 
'status.ack_signal' not described in 'ieee80211_tx_info'
   include/net/mac80211.h:1004: warning: Function parameter or member 
'status.ampdu_ack_len' not described in 'ieee80211_tx_info

[PATCH] usbip: Remove unnecessary null check

2019-03-05 Thread Suwan Kim
"vdev" points to vhci_hcd->vdev[] array and vhci_hcd->vdev[] array
is not a pointer array but a structure array and it is already used
in vhci_urb_enqueue() and then passed to vhci_tx_urb() as an argument.
vhci_tx_urb() is not called except vhci_urb_enqueue(). So, "vdev"
can not be null pointer. This null check statement is meaningless.

Signed-off-by: Suwan Kim 
---
 drivers/usb/usbip/vhci_hcd.c | 8 +---
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/drivers/usb/usbip/vhci_hcd.c b/drivers/usb/usbip/vhci_hcd.c
index f46ee1fefe02..667d9c0ec905 100644
--- a/drivers/usb/usbip/vhci_hcd.c
+++ b/drivers/usb/usbip/vhci_hcd.c
@@ -654,15 +654,9 @@ static int vhci_hub_control(struct usb_hcd *hcd, u16 
typeReq, u16 wValue,
 static void vhci_tx_urb(struct urb *urb, struct vhci_device *vdev)
 {
struct vhci_priv *priv;
-   struct vhci_hcd *vhci_hcd;
+   struct vhci_hcd *vhci_hcd = vdev_to_vhci_hcd(vdev);
unsigned long flags;
 
-   if (!vdev) {
-   pr_err("could not get virtual device");
-   return;
-   }
-   vhci_hcd = vdev_to_vhci_hcd(vdev);
-
priv = kzalloc(sizeof(struct vhci_priv), GFP_ATOMIC);
if (!priv) {
usbip_event_add(&vdev->ud, VDEV_EVENT_ERROR_MALLOC);
-- 
2.20.1



Re: [PATCH] wusb: use correct format characters

2019-03-05 Thread Test
Hallo

Am 28.02.19 um 12:52 schrieb Louis Taylor:
> When compiling with -Wformat, clang warns:
>
> ./include/linux/usb/wusb.h:245:5: warning: format specifies type
> 'unsigned short' but the argument has type 'u8' (aka 'unsigned char')
> [-Wformat]
>   ckhdid->data[0],  ckhdid->data[1],
>   ^~~
>
> ckhdid->data is unconditionally defined as `u8 data[16]`, so this patch
> updates the format characters to the correct one for unsigned char types.
>
> Link: https://github.com/ClangBuiltLinux/linux/issues/378
> Signed-off-by: Louis Taylor 
> ---
>  include/linux/usb/wusb.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/usb/wusb.h b/include/linux/usb/wusb.h
> index 9e4a3213f2c2..0a3cdf10972d 100644
> --- a/include/linux/usb/wusb.h
> +++ b/include/linux/usb/wusb.h
> @@ -240,8 +240,8 @@ static inline size_t ckhdid_printf(char *pr_ckhdid, 
> size_t size,
>  const struct wusb_ckhdid *ckhdid)
>  {
>   return scnprintf(pr_ckhdid, size,
> -  "%02hx %02hx %02hx %02hx %02hx %02hx %02hx %02hx "
> -  "%02hx %02hx %02hx %02hx %02hx %02hx %02hx %02hx",
> +  "%02hhu %02hhu %02hhu %02hhu %02hhu %02hhu %02hhu 
> %02hhu "
> +  "%02hhu %02hhu %02hhu %02hhu %02hhu %02hhu %02hhu 
> %02hhu",
>ckhdid->data[0],  ckhdid->data[1],
>ckhdid->data[2],  ckhdid->data[3],
>ckhdid->data[4],  ckhdid->data[5],


Re: [PATCH] wusb: use correct format characters

2019-03-05 Thread Test
Test

Am 28.02.19 um 12:52 schrieb Louis Taylor:
> When compiling with -Wformat, clang warns:
>
> ./include/linux/usb/wusb.h:245:5: warning: format specifies type
> 'unsigned short' but the argument has type 'u8' (aka 'unsigned char')
> [-Wformat]
>   ckhdid->data[0],  ckhdid->data[1],
>   ^~~
>
> ckhdid->data is unconditionally defined as `u8 data[16]`, so this patch
> updates the format characters to the correct one for unsigned char types.
>
> Link: https://github.com/ClangBuiltLinux/linux/issues/378
> Signed-off-by: Louis Taylor 
> ---
>  include/linux/usb/wusb.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/usb/wusb.h b/include/linux/usb/wusb.h
> index 9e4a3213f2c2..0a3cdf10972d 100644
> --- a/include/linux/usb/wusb.h
> +++ b/include/linux/usb/wusb.h
> @@ -240,8 +240,8 @@ static inline size_t ckhdid_printf(char *pr_ckhdid, 
> size_t size,
>  const struct wusb_ckhdid *ckhdid)
>  {
>   return scnprintf(pr_ckhdid, size,
> -  "%02hx %02hx %02hx %02hx %02hx %02hx %02hx %02hx "
> -  "%02hx %02hx %02hx %02hx %02hx %02hx %02hx %02hx",
> +  "%02hhu %02hhu %02hhu %02hhu %02hhu %02hhu %02hhu 
> %02hhu "
> +  "%02hhu %02hhu %02hhu %02hhu %02hhu %02hhu %02hhu 
> %02hhu",
>ckhdid->data[0],  ckhdid->data[1],
>ckhdid->data[2],  ckhdid->data[3],
>ckhdid->data[4],  ckhdid->data[5],


Re: [PATCH v2 2/8] dt-bindings: phy: Add Amlogic G12A USB3+PCIE Combo PHY Bindings

2019-03-05 Thread Martin Blumenstingl
Hi Neil,

On Mon, Mar 4, 2019 at 11:38 AM Neil Armstrong  wrote:
>
> Add the Amlogic G12A Family USB3 + PCIE Combo PHY Bindings.
>
> This PHY can provide exclusively USB3 or PCIE support on shared I/Os.
>
> Signed-off-by: Neil Armstrong 
> Reviewed-by: Martin Blumenstingl 
> ---
>  .../bindings/phy/meson-g12a-usb3-pcie-phy.txt | 22 +++
>  1 file changed, 22 insertions(+)
>  create mode 100644 
> Documentation/devicetree/bindings/phy/meson-g12a-usb3-pcie-phy.txt
>
> diff --git 
> a/Documentation/devicetree/bindings/phy/meson-g12a-usb3-pcie-phy.txt 
> b/Documentation/devicetree/bindings/phy/meson-g12a-usb3-pcie-phy.txt
> new file mode 100644
> index ..7cfc17e2df31
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/phy/meson-g12a-usb3-pcie-phy.txt
> @@ -0,0 +1,22 @@
> +* Amlogic G12A USB3 + PCIE Combo PHY binding
> +
> +Required properties:
> +- compatible:  Should be "amlogic,meson-g12a-usb3-pcie-phy"
> +- #phys-cells: must be 1. The cell number is used to select the phy mode
> +  as defined in  between PHY_TYPE_USB3 and 
> PHY_TYPE_PCIE
> +- reg: The base address and length of the registers
> +- clocks:  a phandle to the 100MHz reference clock of this PHY
> +- clock-names: must be "ref_clk"
> +- resets:  phandle to the reset lines for the PHY control
> +- reset-names: must be "phy"
one question on the resets:
- in v1 you had three reset lines: RESET_PCIE_CTRL_A, RESET_PCIE_PHY,
RESET_PCIE_APB
- in v2 you only have the "phy" reset line.
is this because the other two are connected to the PCIe controller
(Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt) instead
of the PHY?


Regards
Martin


[PATCH] USB: serial: ftdi_sio: add additional NovaTech products

2019-03-05 Thread George McCollister
Add PIDs for the NovaTech OrionLX+ and Orion I/O so they can be
automatically detected.

Signed-off-by: George McCollister 
---
 drivers/usb/serial/ftdi_sio.c | 2 ++
 drivers/usb/serial/ftdi_sio_ids.h | 4 +++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index 77ef4c481f3c..4e0da23a0210 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -609,6 +609,8 @@ static const struct usb_device_id id_table_combined[] = {
.driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
{ USB_DEVICE(FTDI_VID, FTDI_NT_ORIONLXM_PID),
.driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
+   { USB_DEVICE(FTDI_VID, FTDI_NT_ORIONLX_PLUS_PID) },
+   { USB_DEVICE(FTDI_VID, FTDI_NT_ORION_IO_PID) },
{ USB_DEVICE(FTDI_VID, FTDI_SYNAPSE_SS200_PID) },
{ USB_DEVICE(FTDI_VID, FTDI_CUSTOMWARE_MINIPLEX_PID) },
{ USB_DEVICE(FTDI_VID, FTDI_CUSTOMWARE_MINIPLEX2_PID) },
diff --git a/drivers/usb/serial/ftdi_sio_ids.h 
b/drivers/usb/serial/ftdi_sio_ids.h
index 975d02666c5a..cb0adba174a7 100644
--- a/drivers/usb/serial/ftdi_sio_ids.h
+++ b/drivers/usb/serial/ftdi_sio_ids.h
@@ -567,7 +567,9 @@
 /*
  * NovaTech product ids (FTDI_VID)
  */
-#define FTDI_NT_ORIONLXM_PID   0x7c90  /* OrionLXm Substation Automation 
Platform */
+#define FTDI_NT_ORIONLXM_PID   0x7c90  /* OrionLXm Substation 
Automation Platform */
+#define FTDI_NT_ORIONLX_PLUS_PID   0x7c91  /* OrionLX+ Substation 
Automation Platform */
+#define FTDI_NT_ORION_IO_PID   0x7c92  /* Orion I/O */
 
 /*
  * Synapse Wireless product ids (FTDI_VID)
-- 
2.20.1



Re: [PATCH -next] usb: gadget: Remove dead branch code

2019-03-05 Thread Laurent Pinchart
Hello YueHaibing,

Thank you for the patch.

On Wed, Jan 23, 2019 at 10:31:36PM +0800, YueHaibing wrote:
> 'num' is a u8 variable, it never greater than 255,
> So the if branch is dead code and can be removed.
> 
> Signed-off-by: YueHaibing 

Reviewed-by: Laurent Pinchart 

> ---
>  drivers/usb/gadget/function/uvc_configfs.c | 8 
>  1 file changed, 8 deletions(-)
> 
> diff --git a/drivers/usb/gadget/function/uvc_configfs.c 
> b/drivers/usb/gadget/function/uvc_configfs.c
> index bc1e2af..8fe85cb 100644
> --- a/drivers/usb/gadget/function/uvc_configfs.c
> +++ b/drivers/usb/gadget/function/uvc_configfs.c
> @@ -1570,10 +1570,6 @@ uvcg_uncompressed_##cname##_store(struct config_item 
> *item,\
>   if (ret)\
>   goto end;   \
>   \
> - if (num > 255) {\
> - ret = -EINVAL;  \
> - goto end;   \
> - }   \
>   u->desc.aname = num;\
>   ret = len;  \
>  end: \
> @@ -1767,10 +1763,6 @@ uvcg_mjpeg_##cname##_store(struct config_item *item,   
> \
>   if (ret)\
>   goto end;   \
>   \
> - if (num > 255) {\
> - ret = -EINVAL;  \
> - goto end;   \
> - }   \
>   u->desc.aname = num;\
>   ret = len;  \
>  end: \

-- 
Regards,

Laurent Pinchart


Re: [PATCH] [v2]USB:serial:pl2303:add new Pull-Up mode to support PL2303HXD (TYPE_HX)

2019-03-05 Thread Charles Yeh
Hi Johan / Greg,

Do you have time to review the patch?
If there is no time.. Who else can review this patch?
Because my boss has been asking me to update the Linux patch...

Charles.

Charles Yeh  於 2019年3月5日 週二 上午9:16寫道:
>
> Hi Johan,
>   Do you have time to review the two patch?
>
> Johan Hovold  於 2019年2月19日 週二 下午4:51寫道:
> >
> > On Tue, Feb 19, 2019 at 02:41:28PM +0800, Charles Yeh wrote:
> > > Hi Johan & Greg,
> > >
> > >
> > > Do you have received a new patch"[PATCH] [v2]USB:serial:pl2303:add new
> > > Pull-Up mode to support PL2303HXD (TYPE_HX)"?
> > >
> > > If you have received a new patch, has the content been confirmed?
> > >
> > > Or tell me where needs to be modified.
> >
> > Yes, both patches you sent last week are in my queue. I just haven't had
> > time to review them yet.
> >
> > Johan


Re: [PATCH] [v2]USB:serial:pl2303:add new Pull-Up mode to support PL2303HXD (TYPE_HX)

2019-03-05 Thread Greg KH
On Wed, Mar 06, 2019 at 12:42:29PM +0800, Charles Yeh wrote:
> Hi Johan / Greg,
> 
> Do you have time to review the patch?
> If there is no time.. Who else can review this patch?
> Because my boss has been asking me to update the Linux patch...

It is the middle of the merge window and we can not accept any new
patches until after 5.1-rc1 is out in 1 1/2 weeks.  Please wait until
thne before we can get to reviewing this.

thanks,

greg k-h