@@ -56,6 +56,24 @@ enum qmi_error {
QMI_ERROR_INVALID_QMI_COMMAND = 71,
};
+/**
+ * This defines device-specific "quirks" that may alter the default
+ * behavior of the QMI driver for a specific, instantiated device.
+ */
+enum qmi_qmux_device_quirk {
+ /**
+ * The device has no "quirks".
+ */
+ QMI_QMUX_DEVICE_QUIRK_NONE = 0x00,
+
+ /**
+ * The device has a "quirk" where it can lock up and hang (not
+ * responding to subsequent commands) due to high QMI service
+ * request arrival rates.
+ */
+ QMI_QMUX_DEVICE_QUIRK_REQ_RATE_LIMIT = 0x01
+};
+
typedef void (*qmi_destroy_func_t)(void *user_data);
struct qmi_service;