summaryrefslogtreecommitdiff
path: root/drivers/phy
diff options
context:
space:
mode:
authorAllan, Bruce W <bruce.w.allan@intel.com>2015-01-09 19:54:58 (GMT)
committerHerbert Xu <herbert@gondor.apana.org.au>2015-01-13 11:30:45 (GMT)
commit22e4dda06dd0fa2a56e573049411479a1f759cbb (patch)
tree993ee6abf4fa732e01297c3df8730f25c743541b /drivers/phy
parent8a45ac12ec5b6ee67f8559c78ae11d9af8b821ee (diff)
downloadlinux-22e4dda06dd0fa2a56e573049411479a1f759cbb.tar.xz
crypto: qat - fix device reset flow
When the device needs a reset, e.g. when an uncorrectable PCIe AER event occurs, various services/data structures need to be cleaned up, the hardware reset and the services/data structures initialized and started. The code to perform the cleanup and initialization was not performed when a device reset was done. This patch moves some of the initialization code out of the .probe entry- point into a separate function that is now called during probe as well as after the hardware has been reset. Similarly, a new function is added for first cleaning up these services/data structures prior to resetting. The new functions are adf_dev_init() and adf_dev_shutdown(), respectively, for which there are already prototypes but no actual functions just yet and are now called when the device is reset and during probe/cleanup of the driver. The down and up flows via ioctl calls has similarly been updated. In addition, there are two other bugs in the reset flow - one in the logic for determining whether to schedule a device reset upon receiving an uncorrectable AER event which prevents the reset flow from being initiated, and another with clearing the status bit indicating a device is configured (when resetting the device the configuration remains across the reset so the bit should not be cleared, otherwise, the necessary services will not be re-started in adf_dev_start() after the reset - clear the bit only when actually deleting the configuration). Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/phy')
0 files changed, 0 insertions, 0 deletions