USB: Skip endpoints with 0 maxpacket length
authorAlan Stern <stern@rowland.harvard.edu>
Mon, 28 Oct 2019 14:52:35 +0000 (10:52 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 28 Oct 2019 16:46:22 +0000 (17:46 +0100)
commitd482c7bb0541d19dea8bff437a9f3c5563b5b2d2
tree23b820c4d939478b8ca5dbff1300ed8bf8b91608
parent4ae8beac0abb9c3bbbb8340bab46eb287aea3001
USB: Skip endpoints with 0 maxpacket length

Endpoints with a maxpacket length of 0 are probably useless.  They
can't transfer any data, and it's not at all unlikely that an HCD will
crash or hang when trying to handle an URB for such an endpoint.

Currently the USB core does not check for endpoints having a maxpacket
value of 0.  This patch adds a check, printing a warning and skipping
over any endpoints it catches.

Now, the USB spec does not rule out endpoints having maxpacket = 0.
But since they wouldn't have any practical use, there doesn't seem to
be any good reason for us to accept them.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Link: https://lore.kernel.org/r/Pine.LNX.4.44L0.1910281050420.1485-100000@iolanthe.rowland.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/core/config.c