Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Jan 2020 09:49:20 +0000 (UTC)
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r356409 - in head/sys: dev/usb sys
Message-ID:  <202001060949.0069nK9e020554@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: hselasky
Date: Mon Jan  6 09:49:20 2020
New Revision: 356409
URL: https://svnweb.freebsd.org/changeset/base/356409

Log:
  Add own counter for cancelled USB transfers.
  Do not count these as errors.
  
  MFC after:	1 week
  Sponsored by:	Mellanox Technologies

Modified:
  head/sys/dev/usb/usb_device.h
  head/sys/dev/usb/usb_transfer.c
  head/sys/sys/param.h

Modified: head/sys/dev/usb/usb_device.h
==============================================================================
--- head/sys/dev/usb/usb_device.h	Mon Jan  6 09:40:59 2020	(r356408)
+++ head/sys/dev/usb/usb_device.h	Mon Jan  6 09:49:20 2020	(r356409)
@@ -191,6 +191,7 @@ struct usb_device {
 	/* statistics */
 	struct usb_device_statistics stats_err;
 	struct usb_device_statistics stats_ok;
+  	struct usb_device_statistics stats_cancelled;
 
 	/* generic clear stall message */
 	struct usb_udev_msg cs_msg[2];

Modified: head/sys/dev/usb/usb_transfer.c
==============================================================================
--- head/sys/dev/usb/usb_transfer.c	Mon Jan  6 09:40:59 2020	(r356408)
+++ head/sys/dev/usb/usb_transfer.c	Mon Jan  6 09:49:20 2020	(r356409)
@@ -2593,7 +2593,10 @@ usbd_transfer_done(struct usb_xfer *xfer, usb_error_t 
 	}
 #endif
 	/* keep some statistics */
-	if (xfer->error) {
+	if (xfer->error == USB_ERR_CANCELLED) {
+		info->udev->stats_cancelled.uds_requests
+		    [xfer->endpoint->edesc->bmAttributes & UE_XFERTYPE]++;
+	} else if (xfer->error != USB_ERR_NORMAL_COMPLETION) {
 		info->udev->stats_err.uds_requests
 		    [xfer->endpoint->edesc->bmAttributes & UE_XFERTYPE]++;
 	} else {

Modified: head/sys/sys/param.h
==============================================================================
--- head/sys/sys/param.h	Mon Jan  6 09:40:59 2020	(r356408)
+++ head/sys/sys/param.h	Mon Jan  6 09:49:20 2020	(r356409)
@@ -60,7 +60,7 @@
  *		in the range 5 to 9.
  */
 #undef __FreeBSD_version
-#define __FreeBSD_version 1300074	/* Master, propagated to newvers */
+#define __FreeBSD_version 1300075	/* Master, propagated to newvers */
 
 /*
  * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202001060949.0069nK9e020554>