[MLX4_BUS] Bad order of operations in mlx4_ib teardown process. [mlnx: 4208]
authorleonidk <leonidk@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Sun, 29 Mar 2009 16:06:32 +0000 (16:06 +0000)
committerleonidk <leonidk@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Sun, 29 Mar 2009 16:06:32 +0000 (16:06 +0000)
commit8f6469e3f39042d10f0aa15e46ca47aead8ae59d
tree860b2478bd928187b7ed3cda8b82819f7cb1805b
parent3a4092043fea74793f3fa01a2b1b4200940d7f6c
[MLX4_BUS] Bad order of operations in mlx4_ib teardown process. [mlnx: 4208]

The bug is that the driver performs "CLOSE_PORT" command prior to closing all resources (such as QPs).
In some cases it causes loss of completions.
According to PRM:
18.2 ConnectX Driver Teardown and Re-initialization

The HCA can be shut down (and re-initialized/restarted later on) by software. This operation is performed while the system shuts down gracefully or when PCI bus re-enumeration and memory re-allocation is required. In this case, software should perform the following steps:

•Stop HCA operations (tear-down all QPs and flush WQEs if required).

•Take down the network links by executing the CLOSE_PORT command.

git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2066 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
hw/mlx4/kernel/bus/ib/main.c