diff options
author | hselasky <hselasky@FreeBSD.org> | 2016-03-07 14:35:31 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2016-03-07 14:35:31 +0000 |
commit | 5300ebacd8e44f0a4bb1c2b401328041708f17e6 (patch) | |
tree | 97338f2b890ee05be4a0d63cfc8f57240d69ae5a | |
parent | 8a53a286c440f36418583c278055fc2e4be43edd (diff) | |
download | FreeBSD-src-5300ebacd8e44f0a4bb1c2b401328041708f17e6.zip FreeBSD-src-5300ebacd8e44f0a4bb1c2b401328041708f17e6.tar.gz |
Run the LinuxKPI PCI shutdown handler free of the Giant mutex.
MFC after: 1 week
Sponsored by: Mellanox Technologies
-rw-r--r-- | sys/compat/linuxkpi/common/src/linux_pci.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index 0214e32..e22d11e 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2015 Mellanox Technologies, Ltd. + * Copyright (c) 2015-2016 Mellanox Technologies, Ltd. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -209,8 +209,11 @@ linux_pci_shutdown(device_t dev) struct pci_dev *pdev; pdev = device_get_softc(dev); - if (pdev->pdrv->shutdown != NULL) + if (pdev->pdrv->shutdown != NULL) { + DROP_GIANT(); pdev->pdrv->shutdown(pdev); + PICKUP_GIANT(); + } return (0); } |