Re: [PATCH] Add Prolific new chip: PL2303TB & PL2303N(G)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi lkp,
      Do you have try  new patch file for bellowing issue?
">> drivers/usb/serial/pl2303.c:352:36: warning: restricted
__le16 degrades to integer"

Charles

kbuild test robot <lkp@xxxxxxxxx> 於 2018年12月25日 週二 下午11:39寫道:
>
> Hi Charles,
>
> Thank you for the patch! Perhaps something to improve:
>
> [auto build test WARNING on usb-serial/usb-next]
> [also build test WARNING on v4.20 next-20181224]
> [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/Charles-Yeh/Add-Prolific-new-chip-PL2303TB-PL2303N-G/20181225-220256
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial.git usb-next
> config: x86_64-allmodconfig (attached as .config)
> compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
> reproduce:
>         # save the attached .config to linux build tree
>         make ARCH=x86_64
>
> All warnings (new ones prefixed by >>):
>
>    include/linux/slab.h:332:43: warning: dubious: x & !y
>    include/linux/slab.h:332:43: warning: dubious: x & !y
> >> drivers/usb/serial/pl2303.c:352:36: warning: restricted __le16 degrades to integer
>    include/linux/slab.h:332:43: warning: dubious: x & !y
>    include/linux/slab.h:332:43: warning: dubious: x & !y
>
> vim +352 drivers/usb/serial/pl2303.c
>
>    324
>    325  static int pl2303_startup(struct usb_serial *serial)
>    326  {
>    327          struct pl2303_serial_private *spriv;
>    328          enum pl2303_type type = TYPE_01;
>    329          unsigned char *buf;
>    330          int res;
>    331
>    332          spriv = kzalloc(sizeof(*spriv), GFP_KERNEL);
>    333          if (!spriv)
>    334                  return -ENOMEM;
>    335
>    336          buf = kmalloc(1, GFP_KERNEL);
>    337          if (!buf) {
>    338                  kfree(spriv);
>    339                  return -ENOMEM;
>    340          }
>    341
>    342          if (serial->dev->descriptor.bDeviceClass == 0x02)
>    343                  type = TYPE_01;         /* type 0 */
>    344          else if (serial->dev->descriptor.bMaxPacketSize0 == 0x40)
>    345                  type = TYPE_HX;
>    346          else if (serial->dev->descriptor.bDeviceClass == 0x00)
>    347                  type = TYPE_01;         /* type 1 */
>    348          else if (serial->dev->descriptor.bDeviceClass == 0xFF)
>    349                  type = TYPE_01;         /* type 1 */
>    350          dev_dbg(&serial->interface->dev, "device type: %d\n", type);
>    351
>  > 352          if (serial->dev->descriptor.bcdUSB == 0x0200) {
>    353                  res = usb_control_msg(serial->dev, usb_rcvctrlpipe(serial->dev, 0),
>    354                          VENDOR_READ_REQUEST, VENDOR_READ_REQUEST_TYPE,
>    355                          TYPE_HX_READ_OTP_STATUS_REGISTER, 0, buf, 1, 100);
>    356                  if (res != 1)
>    357                          type = TYPE_HXN;
>    358          }
>    359
>    360          spriv->type = &pl2303_type_data[type];
>    361          spriv->quirks = (unsigned long)usb_get_serial_data(serial);
>    362          spriv->quirks |= spriv->type->quirks;
>    363
>    364          usb_set_serial_data(serial, spriv);
>    365
>    366          if (type != TYPE_HXN) {
>    367                  pl2303_vendor_read(serial, 0x8484, buf);
>    368                  pl2303_vendor_write(serial, 0x0404, 0);
>    369                  pl2303_vendor_read(serial, 0x8484, buf);
>    370                  pl2303_vendor_read(serial, 0x8383, buf);
>    371                  pl2303_vendor_read(serial, 0x8484, buf);
>    372                  pl2303_vendor_write(serial, 0x0404, 1);
>    373                  pl2303_vendor_read(serial, 0x8484, buf);
>    374                  pl2303_vendor_read(serial, 0x8383, buf);
>    375                  pl2303_vendor_write(serial, 0, 1);
>    376                  pl2303_vendor_write(serial, 1, 0);
>    377                  if (spriv->quirks & PL2303_QUIRK_LEGACY)
>    378                          pl2303_vendor_write(serial, 2, 0x24);
>    379                  else
>    380                          pl2303_vendor_write(serial, 2, 0x44);
>    381          }
>    382
>    383          kfree(buf);
>    384
>    385          return 0;
>    386  }
>    387
>
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux