|
|
@@ -1551,8 +1551,9 @@ static void __aac_shutdown(struct aac_dev * aac)
|
|
|
{
|
|
|
int i;
|
|
|
|
|
|
+ mutex_lock(&aac->ioctl_mutex);
|
|
|
aac->adapter_shutdown = 1;
|
|
|
- aac_send_shutdown(aac);
|
|
|
+ mutex_unlock(&aac->ioctl_mutex);
|
|
|
|
|
|
if (aac->aif_thread) {
|
|
|
int i;
|
|
|
@@ -1565,7 +1566,11 @@ static void __aac_shutdown(struct aac_dev * aac)
|
|
|
}
|
|
|
kthread_stop(aac->thread);
|
|
|
}
|
|
|
+
|
|
|
+ aac_send_shutdown(aac);
|
|
|
+
|
|
|
aac_adapter_disable_int(aac);
|
|
|
+
|
|
|
if (aac_is_src(aac)) {
|
|
|
if (aac->max_msix > 1) {
|
|
|
for (i = 0; i < aac->max_msix; i++) {
|