Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8f12d0a4 authored by Uri Shkolnik's avatar Uri Shkolnik Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (11778): Siano: smsusb - lost buffers bug fix



This patch fixes a problem were protocol buffers
have been lost during USB disconnect events.

Signed-off-by: default avatarUri Shkolnik <uris@siano-ms.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent c7ce8d37
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -65,13 +65,13 @@ static void smsusb_onresponse(struct urb *urb)
	struct smsusb_urb_t *surb = (struct smsusb_urb_t *) urb->context;
	struct smsusb_device_t *dev = surb->dev;

	if (urb->status < 0) {
		sms_err("error, urb status %d, %d bytes",
	if (urb->status == -ESHUTDOWN) {
		sms_err("error, urb status %d (-ESHUTDOWN), %d bytes",
			urb->status, urb->actual_length);
		return;
	}

	if (urb->actual_length > 0) {
	if ((urb->actual_length > 0) && (urb->status == 0)) {
		struct SmsMsgHdr_ST *phdr = (struct SmsMsgHdr_ST *)surb->cb->p;

		smsendian_handle_message_header(phdr);
@@ -111,7 +111,10 @@ static void smsusb_onresponse(struct urb *urb)
				"msglen %d actual %d",
				phdr->msgLength, urb->actual_length);
		}
	}
	} else
		sms_err("error, urb status %d, %d bytes",
			urb->status, urb->actual_length);


exit_and_resubmit:
	smsusb_submit_urb(dev, surb);