aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/qlge/qlge_main.c
diff options
context:
space:
mode:
authorRon Mercer <ron.mercer@qlogic.com>2009-03-03 07:10:33 -0500
committerDavid S. Miller <davem@davemloft.net>2009-03-04 02:50:47 -0500
commit2ee1e272d1661d7846da753248a4141ad5f16d69 (patch)
tree0e2f80fc7b36a85d1ac4f19b2f0955cddc56a858 /drivers/net/qlge/qlge_main.c
parent5700abe94794cd548d9cb8bfb7e00eb7a8bedb60 (diff)
qlge: Add worker-handler for firmware events.
This worker and it's supporting routines are used for IDC 'inter-device-communication' events that require an ACK mailbox command be sent to allow completion of the request. These requests are originated by another function wanting to change some common port paramters. Typical example would be: 1) Change max TX/RX frame size allowed. 2) Change pause parameters. 3) Change loopback mode. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/qlge/qlge_main.c')
-rw-r--r--drivers/net/qlge/qlge_main.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c
index 7c1ce5765759..d800ff40b32b 100644
--- a/drivers/net/qlge/qlge_main.c
+++ b/drivers/net/qlge/qlge_main.c
@@ -3014,7 +3014,7 @@ exit:
3014 return status; 3014 return status;
3015} 3015}
3016 3016
3017static int ql_cam_route_initialize(struct ql_adapter *qdev) 3017int ql_cam_route_initialize(struct ql_adapter *qdev)
3018{ 3018{
3019 int status; 3019 int status;
3020 3020
@@ -3195,6 +3195,7 @@ static int ql_adapter_down(struct ql_adapter *qdev)
3195 cancel_delayed_work_sync(&qdev->asic_reset_work); 3195 cancel_delayed_work_sync(&qdev->asic_reset_work);
3196 cancel_delayed_work_sync(&qdev->mpi_reset_work); 3196 cancel_delayed_work_sync(&qdev->mpi_reset_work);
3197 cancel_delayed_work_sync(&qdev->mpi_work); 3197 cancel_delayed_work_sync(&qdev->mpi_work);
3198 cancel_delayed_work_sync(&qdev->mpi_idc_work);
3198 cancel_delayed_work_sync(&qdev->mpi_port_cfg_work); 3199 cancel_delayed_work_sync(&qdev->mpi_port_cfg_work);
3199 3200
3200 /* The default queue at index 0 is always processed in 3201 /* The default queue at index 0 is always processed in
@@ -3782,6 +3783,7 @@ static int __devinit ql_init_device(struct pci_dev *pdev,
3782 INIT_DELAYED_WORK(&qdev->mpi_reset_work, ql_mpi_reset_work); 3783 INIT_DELAYED_WORK(&qdev->mpi_reset_work, ql_mpi_reset_work);
3783 INIT_DELAYED_WORK(&qdev->mpi_work, ql_mpi_work); 3784 INIT_DELAYED_WORK(&qdev->mpi_work, ql_mpi_work);
3784 INIT_DELAYED_WORK(&qdev->mpi_port_cfg_work, ql_mpi_port_cfg_work); 3785 INIT_DELAYED_WORK(&qdev->mpi_port_cfg_work, ql_mpi_port_cfg_work);
3786 INIT_DELAYED_WORK(&qdev->mpi_idc_work, ql_mpi_idc_work);
3785 mutex_init(&qdev->mpi_mutex); 3787 mutex_init(&qdev->mpi_mutex);
3786 init_completion(&qdev->ide_completion); 3788 init_completion(&qdev->ide_completion);
3787 3789