freebsd-dev/sys/dev/mps
Steven Hartland 85c9dd9d89 Prevent overflow issues in timeout processing
Previously, any timeout value for which (timeout * hz) will overflow the
signed integer, will give weird results, since callout(9) routines will
convert negative values of ticks to '1'. For unsigned integer overflow we
will get sufficiently smaller timeout values than expected.

Switch from callout_reset, which requires conversion to int based ticks
to callout_reset_sbt to avoid this.

Also correct isci to correctly resolve ccb timeout.

This was based on the original work done by Eygene Ryabinkin
<rea@freebsd.org> back in 5 Aug 2011 which used a macro to help avoid
the overlow.

Differential Revision:	https://reviews.freebsd.org/D1157
Reviewed by:	mav, davide
MFC after:	1 month
Sponsored by:	Multiplay
2014-11-21 21:01:24 +00:00
..
mpi Bring in LSI's latest mps(4) 6Gb SAS and WarpDrive driver, version 2012-06-28 03:48:54 +00:00
mps_config.c Merge in phase 14+ -> 16 mps driver fixes from LSI: 2013-07-22 18:41:53 +00:00
mps_ioctl.h Bring in LSI's latest mps(4) 6Gb SAS and WarpDrive driver, version 2012-06-28 03:48:54 +00:00
mps_mapping.c Bring in LSI's phase19 changes 2014-07-30 18:21:06 +00:00
mps_mapping.h Bring in LSI's latest mps(4) 6Gb SAS and WarpDrive driver, version 2012-06-28 03:48:54 +00:00
mps_pci.c Update PCI drivers to no longer look at the MEMIO-enabled bit in the PCI 2013-08-12 23:30:01 +00:00
mps_sas_lsi.c Bring in LSI's phase16 - phase18 changes 2014-07-30 17:58:17 +00:00
mps_sas.c Prevent overflow issues in timeout processing 2014-11-21 21:01:24 +00:00
mps_sas.h Bring in LSI's phase16 - phase18 changes 2014-07-30 17:58:17 +00:00
mps_table.c Overhaul error, information, and debug logging. 2013-07-19 00:12:41 +00:00
mps_table.h
mps_user.c Refactor some code in mps.c to reduce header pollution. 2014-07-01 04:33:36 +00:00
mps.c Fix multiple incorrect SYSCTL arguments in the kernel: 2014-10-21 07:31:21 +00:00
mpsvar.h Bring in LSI's phase19 changes 2014-07-30 18:21:06 +00:00