]> git.baikalelectronics.ru Git - kernel.git/commit
qmi_wwan: unconditionally reject 2 ep interfaces
authorBjørn Mork <bjorn@mork.no>
Sat, 8 Feb 2020 15:55:04 +0000 (16:55 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 10 Feb 2020 13:03:27 +0000 (14:03 +0100)
commit3402ecba7c2cff4bf9b0bea2b03b5dd52e0f72a9
tree5ebaf534aea3f61c9044276c13d56bcdcb2e6135
parente410c8fb2b80e02c0b08dbfc0c4d633a3b69d173
qmi_wwan: unconditionally reject 2 ep interfaces

We have been using the fact that the QMI and DIAG functions
usually are the only ones with class/subclass/protocol being
ff/ff/ff on Quectel modems. This has allowed us to match the
QMI function without knowing the exact interface number,
which can vary depending on firmware configuration.

The ability to silently reject the DIAG function, which is
usually handled by the option driver, is important for this
method to work.  This is done based on the knowledge that it
has exactly 2 bulk endpoints.  QMI function control interfaces
will have either 3 or 1 endpoint. This rule is universal so
the quirk condition can be removed.

The fixed layouts known from the Gobi1k and Gobi2k modems
have been gradually replaced by more dynamic layouts, and
many vendors now use configurable layouts without changing
device IDs.  Renaming the class/subclass/protocol matching
macro makes it more obvious that this is now not Quectel
specific anymore.

Cc: Kristian Evensen <kristian.evensen@gmail.com>
Cc: Aleksander Morgado <aleksander@aleksander.es>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/qmi_wwan.c