Lines Matching refs:persist

57 	ret = pci_read_config_word(dev->persist->pdev, 0, &vendor_id);
78 if (!pci_channel_offline(dev->persist->pdev)) {
105 if (pci_channel_offline(dev->persist->pdev))
169 void mlx4_enter_error_state(struct mlx4_dev_persistent *persist)
177 mutex_lock(&persist->device_state_mutex);
178 if (persist->state & MLX4_DEVICE_STATE_INTERNAL_ERROR)
181 dev = persist->dev;
189 dev->persist->state |= MLX4_DEVICE_STATE_INTERNAL_ERROR;
191 mutex_unlock(&persist->device_state_mutex);
199 mutex_unlock(&persist->device_state_mutex);
202 static void mlx4_handle_error_state(struct mlx4_dev_persistent *persist)
206 mlx4_enter_error_state(persist);
207 mutex_lock(&persist->interface_state_mutex);
208 if (persist->interface_state & MLX4_INTERFACE_STATE_UP &&
209 !(persist->interface_state & MLX4_INTERFACE_STATE_DELETION)) {
210 err = mlx4_restart_one(persist->pdev);
211 mlx4_info(persist->dev, "mlx4_restart_one was ended, ret=%d\n",
214 mutex_unlock(&persist->interface_state_mutex);
246 if (dev->persist->state & MLX4_DEVICE_STATE_INTERNAL_ERROR) {
257 queue_work(dev->persist->catas_wq, &dev->persist->catas_work);
262 struct mlx4_dev_persistent *persist =
266 mlx4_handle_error_state(persist);
279 addr = pci_resource_start(dev->persist->pdev,
309 if (dev->persist->interface_state & MLX4_INTERFACE_STATE_DELETION)
310 flush_workqueue(dev->persist->catas_wq);
315 INIT_WORK(&dev->persist->catas_work, catas_reset);
316 dev->persist->catas_wq = create_singlethread_workqueue("mlx4_health");
317 if (!dev->persist->catas_wq)
325 if (dev->persist->catas_wq) {
326 destroy_workqueue(dev->persist->catas_wq);
327 dev->persist->catas_wq = NULL;