diff options
Diffstat (limited to 'drivers/s390/scsi/zfcp_fc.c')
-rw-r--r-- | drivers/s390/scsi/zfcp_fc.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/drivers/s390/scsi/zfcp_fc.c b/drivers/s390/scsi/zfcp_fc.c index 88688a80b2c1..ff598cd68b2d 100644 --- a/drivers/s390/scsi/zfcp_fc.c +++ b/drivers/s390/scsi/zfcp_fc.c | |||
@@ -26,6 +26,27 @@ static u32 zfcp_fc_rscn_range_mask[] = { | |||
26 | [ELS_ADDR_FMT_FAB] = 0x000000, | 26 | [ELS_ADDR_FMT_FAB] = 0x000000, |
27 | }; | 27 | }; |
28 | 28 | ||
29 | static bool no_auto_port_rescan; | ||
30 | module_param_named(no_auto_port_rescan, no_auto_port_rescan, bool, 0600); | ||
31 | MODULE_PARM_DESC(no_auto_port_rescan, | ||
32 | "no automatic port_rescan (default off)"); | ||
33 | |||
34 | void zfcp_fc_conditional_port_scan(struct zfcp_adapter *adapter) | ||
35 | { | ||
36 | if (no_auto_port_rescan) | ||
37 | return; | ||
38 | |||
39 | queue_work(adapter->work_queue, &adapter->scan_work); | ||
40 | } | ||
41 | |||
42 | void zfcp_fc_inverse_conditional_port_scan(struct zfcp_adapter *adapter) | ||
43 | { | ||
44 | if (!no_auto_port_rescan) | ||
45 | return; | ||
46 | |||
47 | queue_work(adapter->work_queue, &adapter->scan_work); | ||
48 | } | ||
49 | |||
29 | /** | 50 | /** |
30 | * zfcp_fc_post_event - post event to userspace via fc_transport | 51 | * zfcp_fc_post_event - post event to userspace via fc_transport |
31 | * @work: work struct with enqueued events | 52 | * @work: work struct with enqueued events |
@@ -206,7 +227,7 @@ static void zfcp_fc_incoming_rscn(struct zfcp_fsf_req *fsf_req) | |||
206 | zfcp_fc_enqueue_event(fsf_req->adapter, FCH_EVT_RSCN, | 227 | zfcp_fc_enqueue_event(fsf_req->adapter, FCH_EVT_RSCN, |
207 | *(u32 *)page); | 228 | *(u32 *)page); |
208 | } | 229 | } |
209 | queue_work(fsf_req->adapter->work_queue, &fsf_req->adapter->scan_work); | 230 | zfcp_fc_conditional_port_scan(fsf_req->adapter); |
210 | } | 231 | } |
211 | 232 | ||
212 | static void zfcp_fc_incoming_wwpn(struct zfcp_fsf_req *req, u64 wwpn) | 233 | static void zfcp_fc_incoming_wwpn(struct zfcp_fsf_req *req, u64 wwpn) |