|
@@ -639,10 +639,11 @@ int qmi_handle_init(struct qmi_handle *qmi, size_t recv_buf_size,
|
|
if (ops)
|
|
if (ops)
|
|
qmi->ops = *ops;
|
|
qmi->ops = *ops;
|
|
|
|
|
|
|
|
+ /* Make room for the header */
|
|
|
|
+ recv_buf_size += sizeof(struct qmi_header);
|
|
|
|
+ /* Must also be sufficient to hold a control packet */
|
|
if (recv_buf_size < sizeof(struct qrtr_ctrl_pkt))
|
|
if (recv_buf_size < sizeof(struct qrtr_ctrl_pkt))
|
|
recv_buf_size = sizeof(struct qrtr_ctrl_pkt);
|
|
recv_buf_size = sizeof(struct qrtr_ctrl_pkt);
|
|
- else
|
|
|
|
- recv_buf_size += sizeof(struct qmi_header);
|
|
|
|
|
|
|
|
qmi->recv_buf_size = recv_buf_size;
|
|
qmi->recv_buf_size = recv_buf_size;
|
|
qmi->recv_buf = kzalloc(recv_buf_size, GFP_KERNEL);
|
|
qmi->recv_buf = kzalloc(recv_buf_size, GFP_KERNEL);
|