diff options
author | James Smart <James.Smart@Emulex.Com> | 2007-10-27 13:37:33 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-01-11 19:22:33 -0500 |
commit | 98c9ea5c026ee47efe2a0f595078dbf199d08f50 (patch) | |
tree | 4d07a863ed26b1d3efec0d198ce456e20fad3954 /drivers/scsi/lpfc/lpfc_attr.c | |
parent | 0b727fea7a700e223bf52fb1eaf4c3a27c4340db (diff) |
[SCSI] lpfc 8.2.3 : Miscellaneous Small Fixes - part 1
Miscellaneous Small Fixes - part 1
- Fix typo kmzlloc -> kzalloc
- Fix discovery ndlp use after free panic
- Fix link event causing flood of 0108 messages
- Relieve some mbox congestion on link up with 100 vports
- Fix broken vport parameters
- Prevent lock recursion in logo_reglogin_issue
- Split uses of error variable in lpfc_pci_probe_one into retval and error
- Remove completion code related to dev_loss_tmo
- Remove unused LPFC_MAX_HBQ #define
- Don't compare pointers to 0 for sparse
- Make 2 functions static for sparse
- Fix default rpi cleanup code causing rogue ndlps to remain on the NPR list
- Remove annoying ELS messages when driver is unloaded
- Fix Cannot issue Register Fabric login problems on link up
- Remove LPFC_EVT_DEV_LOSS_DELAY
- Fix FC port swap test leads to device going offline
- Fix vport CT flags to only be set when accepted
- Add code to handle signals during vport_create
- Fix too many retries in FC-AL mode
- Pull lpfc_port_link_failure out of lpfc_linkdown_port
Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_attr.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_attr.c | 62 |
1 files changed, 58 insertions, 4 deletions
diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c index 356dede9cd65..e8e9905828c9 100644 --- a/drivers/scsi/lpfc/lpfc_attr.c +++ b/drivers/scsi/lpfc/lpfc_attr.c | |||
@@ -2363,13 +2363,67 @@ struct fc_function_template lpfc_transport_functions = { | |||
2363 | .dev_loss_tmo_callbk = lpfc_dev_loss_tmo_callbk, | 2363 | .dev_loss_tmo_callbk = lpfc_dev_loss_tmo_callbk, |
2364 | .terminate_rport_io = lpfc_terminate_rport_io, | 2364 | .terminate_rport_io = lpfc_terminate_rport_io, |
2365 | 2365 | ||
2366 | /* Vport fields are filled in at runtime based on enable_npiv */ | ||
2367 | .vport_create = NULL, | ||
2368 | .vport_delete = NULL, | ||
2369 | .vport_disable = NULL, | ||
2370 | .dd_fcvport_size = sizeof(struct lpfc_vport *), | 2366 | .dd_fcvport_size = sizeof(struct lpfc_vport *), |
2371 | }; | 2367 | }; |
2372 | 2368 | ||
2369 | struct fc_function_template lpfc_vport_transport_functions = { | ||
2370 | /* fixed attributes the driver supports */ | ||
2371 | .show_host_node_name = 1, | ||
2372 | .show_host_port_name = 1, | ||
2373 | .show_host_supported_classes = 1, | ||
2374 | .show_host_supported_fc4s = 1, | ||
2375 | .show_host_supported_speeds = 1, | ||
2376 | .show_host_maxframe_size = 1, | ||
2377 | |||
2378 | /* dynamic attributes the driver supports */ | ||
2379 | .get_host_port_id = lpfc_get_host_port_id, | ||
2380 | .show_host_port_id = 1, | ||
2381 | |||
2382 | .get_host_port_type = lpfc_get_host_port_type, | ||
2383 | .show_host_port_type = 1, | ||
2384 | |||
2385 | .get_host_port_state = lpfc_get_host_port_state, | ||
2386 | .show_host_port_state = 1, | ||
2387 | |||
2388 | /* active_fc4s is shown but doesn't change (thus no get function) */ | ||
2389 | .show_host_active_fc4s = 1, | ||
2390 | |||
2391 | .get_host_speed = lpfc_get_host_speed, | ||
2392 | .show_host_speed = 1, | ||
2393 | |||
2394 | .get_host_fabric_name = lpfc_get_host_fabric_name, | ||
2395 | .show_host_fabric_name = 1, | ||
2396 | |||
2397 | /* | ||
2398 | * The LPFC driver treats linkdown handling as target loss events | ||
2399 | * so there are no sysfs handlers for link_down_tmo. | ||
2400 | */ | ||
2401 | |||
2402 | .get_fc_host_stats = lpfc_get_stats, | ||
2403 | .reset_fc_host_stats = lpfc_reset_stats, | ||
2404 | |||
2405 | .dd_fcrport_size = sizeof(struct lpfc_rport_data), | ||
2406 | .show_rport_maxframe_size = 1, | ||
2407 | .show_rport_supported_classes = 1, | ||
2408 | |||
2409 | .set_rport_dev_loss_tmo = lpfc_set_rport_loss_tmo, | ||
2410 | .show_rport_dev_loss_tmo = 1, | ||
2411 | |||
2412 | .get_starget_port_id = lpfc_get_starget_port_id, | ||
2413 | .show_starget_port_id = 1, | ||
2414 | |||
2415 | .get_starget_node_name = lpfc_get_starget_node_name, | ||
2416 | .show_starget_node_name = 1, | ||
2417 | |||
2418 | .get_starget_port_name = lpfc_get_starget_port_name, | ||
2419 | .show_starget_port_name = 1, | ||
2420 | |||
2421 | .dev_loss_tmo_callbk = lpfc_dev_loss_tmo_callbk, | ||
2422 | .terminate_rport_io = lpfc_terminate_rport_io, | ||
2423 | |||
2424 | .vport_disable = lpfc_vport_disable, | ||
2425 | }; | ||
2426 | |||
2373 | void | 2427 | void |
2374 | lpfc_get_cfgparam(struct lpfc_hba *phba) | 2428 | lpfc_get_cfgparam(struct lpfc_hba *phba) |
2375 | { | 2429 | { |