USB-serial fixes for v4.8-rc4
Here are a couple of fixes for non-atomic allocations in write paths, and some new option device ids. Signed-off-by: Johan Hovold <johan@kernel.org> -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAABCAAGBQJXvxNgAAoJEEEN5E/e4bSVibEP/1HuoOsGKaOR9RI3y/dRzcFe ZVYtKQZ2M+zYBRlkbTGKpGO8urzfNL3T+TfA51i2HUnsa9s4AEFuyoC8eW/amj3D mKm2rn0BwPH+E86Pvg0Jgf/tyveCGB3u2rbkZWHhbbJDA/eI2nX1w9DlldSHpZfx PgFKPemBeUSc+AKIuw2eAbw4y9Br2hnvb2ZDzXE7CHpiu/Jnk6UuXCO6aygr+IAj KK0dcW1D+QBoefHgNNMydk1OMvs5BAl/GdnUn5UqlMfe95b617eaOhkQlM0h+JVk yO2zLF8tz64xE5gYzT0PWeHBSl5Ugf0yVQdIypYToldIellIz+2z8TxfQ38U0Fu5 fyB4c2KAy3+CESDgNZZMYXOPY1sfkjArTrvrbp4lwbgZTlg+CTtcn63OXl0DDhIW x5w0KpguralZvjmhjKrmi46TljEX05UV/PqtConXuFujylyXTq36RLF+1OeH+ZyW +MGYHHHvqjK4/uqesXmu52UQPq08VaBktxUwqaKhh/0Pg1ta0XcdCH+6dBEeWy5i idHFFQBqV9QE08DhLPa24kS+DOpmEUiTi/AOxpdlpDtsW4XkbVv7IF/t3W+sx6G5 U+XfoujHcYBrIbfiN/kcE1W896Y+MeJ8VhCRxCt8vwmgYXTjwpkYaq2eYaA+zp/Z PddZx/fqr8W5ADICIyyj =bKLC -----END PGP SIGNATURE----- Merge tag 'usb-serial-4.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus Johan writes: USB-serial fixes for v4.8-rc4 Here are a couple of fixes for non-atomic allocations in write paths, and some new option device ids. Signed-off-by: Johan Hovold <johan@kernel.org>
This commit is contained in:
Коммит
d1228f4ff3
|
@ -1252,7 +1252,7 @@ static int mos7720_write(struct tty_struct *tty, struct usb_serial_port *port,
|
|||
|
||||
if (urb->transfer_buffer == NULL) {
|
||||
urb->transfer_buffer = kmalloc(URB_TRANSFER_BUFFER_SIZE,
|
||||
GFP_KERNEL);
|
||||
GFP_ATOMIC);
|
||||
if (!urb->transfer_buffer)
|
||||
goto exit;
|
||||
}
|
||||
|
|
|
@ -1340,8 +1340,8 @@ static int mos7840_write(struct tty_struct *tty, struct usb_serial_port *port,
|
|||
}
|
||||
|
||||
if (urb->transfer_buffer == NULL) {
|
||||
urb->transfer_buffer =
|
||||
kmalloc(URB_TRANSFER_BUFFER_SIZE, GFP_KERNEL);
|
||||
urb->transfer_buffer = kmalloc(URB_TRANSFER_BUFFER_SIZE,
|
||||
GFP_ATOMIC);
|
||||
if (!urb->transfer_buffer)
|
||||
goto exit;
|
||||
}
|
||||
|
|
|
@ -525,6 +525,12 @@ static void option_instat_callback(struct urb *urb);
|
|||
#define VIATELECOM_VENDOR_ID 0x15eb
|
||||
#define VIATELECOM_PRODUCT_CDS7 0x0001
|
||||
|
||||
/* WeTelecom products */
|
||||
#define WETELECOM_VENDOR_ID 0x22de
|
||||
#define WETELECOM_PRODUCT_WMD200 0x6801
|
||||
#define WETELECOM_PRODUCT_6802 0x6802
|
||||
#define WETELECOM_PRODUCT_WMD300 0x6803
|
||||
|
||||
struct option_blacklist_info {
|
||||
/* bitmask of interface numbers blacklisted for send_setup */
|
||||
const unsigned long sendsetup;
|
||||
|
@ -1991,6 +1997,9 @@ static const struct usb_device_id option_ids[] = {
|
|||
{ USB_DEVICE_INTERFACE_CLASS(0x2020, 0x4000, 0xff) }, /* OLICARD300 - MT6225 */
|
||||
{ USB_DEVICE(INOVIA_VENDOR_ID, INOVIA_SEW858) },
|
||||
{ USB_DEVICE(VIATELECOM_VENDOR_ID, VIATELECOM_PRODUCT_CDS7) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(WETELECOM_VENDOR_ID, WETELECOM_PRODUCT_WMD200, 0xff, 0xff, 0xff) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(WETELECOM_VENDOR_ID, WETELECOM_PRODUCT_6802, 0xff, 0xff, 0xff) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(WETELECOM_VENDOR_ID, WETELECOM_PRODUCT_WMD300, 0xff, 0xff, 0xff) },
|
||||
{ } /* Terminating entry */
|
||||
};
|
||||
MODULE_DEVICE_TABLE(usb, option_ids);
|
||||
|
|
Загрузка…
Ссылка в новой задаче