svn commit: r350940 - stable/12/sys/dev/nvme
Alexander Motin
mav at FreeBSD.org
Mon Aug 12 18:57:47 UTC 2019
Author: mav
Date: Mon Aug 12 18:57:46 2019
New Revision: 350940
URL: https://svnweb.freebsd.org/changeset/base/350940
Log:
MFC r350333 (by imp): Widen the type for to.
The timeout field in the CAPS register is defined to be 8 bits, so its type was
uint8_t. We recently started adding 1 to it to cope with rogue devices that
listed 0 timeout time (which is impossible). However, in so doing, other devices
that list 0xff (for a 2 minute timeout) were broken when adding 1
overflowed. Widen the type to be uint32_t like its source register to avoid the
issue.
Modified:
stable/12/sys/dev/nvme/nvme_ctrlr.c
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/sys/dev/nvme/nvme_ctrlr.c
==============================================================================
--- stable/12/sys/dev/nvme/nvme_ctrlr.c Mon Aug 12 18:56:46 2019 (r350939)
+++ stable/12/sys/dev/nvme/nvme_ctrlr.c Mon Aug 12 18:57:46 2019 (r350940)
@@ -1227,7 +1227,7 @@ nvme_ctrlr_construct(struct nvme_controller *ctrlr, de
struct make_dev_args md_args;
uint32_t cap_lo;
uint32_t cap_hi;
- uint8_t to;
+ uint32_t to;
uint8_t dstrd;
uint8_t mpsmin;
int status, timeout_period;
More information about the svn-src-all
mailing list