Commit b5c18c9
scsi: lpfc: Fix unsolicited FLOGI kref imbalance when in direct attached topology
In direct attached topology, certain target vendors that are quick to issue
FLOGI followed by a cable pull for more than dev_loss_tmo may result in a
kref imbalance for the remote port ndlp object.
Add an nlp_get when the defer_flogi_acc flag is set. This is expected to
balance the nlp_put in the defer_flogi_acc clause in the
lpfc_issue_els_flogi() routine. Because we need to retain the ndlp ptr,
reorganize all of the defer_flogi_acc information into one
lpfc_defer_flogi_acc struct.
Signed-off-by: Justin Tee <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Martin K. Petersen <[email protected]>1 parent 3976beb commit b5c18c9
3 files changed
+46
-23
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
306 | 306 | | |
307 | 307 | | |
308 | 308 | | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
309 | 317 | | |
310 | 318 | | |
311 | 319 | | |
| |||
1430 | 1438 | | |
1431 | 1439 | | |
1432 | 1440 | | |
1433 | | - | |
1434 | | - | |
1435 | | - | |
| 1441 | + | |
1436 | 1442 | | |
1437 | 1443 | | |
1438 | 1444 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1392 | 1392 | | |
1393 | 1393 | | |
1394 | 1394 | | |
1395 | | - | |
| 1395 | + | |
1396 | 1396 | | |
1397 | 1397 | | |
1398 | 1398 | | |
| |||
1406 | 1406 | | |
1407 | 1407 | | |
1408 | 1408 | | |
1409 | | - | |
| 1409 | + | |
1410 | 1410 | | |
1411 | 1411 | | |
1412 | | - | |
| 1412 | + | |
1413 | 1413 | | |
1414 | 1414 | | |
1415 | | - | |
| 1415 | + | |
1416 | 1416 | | |
1417 | | - | |
| 1417 | + | |
1418 | 1418 | | |
1419 | 1419 | | |
1420 | 1420 | | |
1421 | 1421 | | |
1422 | 1422 | | |
1423 | | - | |
1424 | | - | |
| 1423 | + | |
| 1424 | + | |
1425 | 1425 | | |
1426 | 1426 | | |
1427 | 1427 | | |
1428 | 1428 | | |
1429 | 1429 | | |
1430 | | - | |
1431 | | - | |
| 1430 | + | |
1432 | 1431 | | |
1433 | | - | |
1434 | | - | |
| 1432 | + | |
| 1433 | + | |
1435 | 1434 | | |
1436 | | - | |
| 1435 | + | |
| 1436 | + | |
| 1437 | + | |
| 1438 | + | |
| 1439 | + | |
| 1440 | + | |
1437 | 1441 | | |
1438 | 1442 | | |
1439 | 1443 | | |
| |||
8456 | 8460 | | |
8457 | 8461 | | |
8458 | 8462 | | |
8459 | | - | |
| 8463 | + | |
8460 | 8464 | | |
8461 | | - | |
| 8465 | + | |
8462 | 8466 | | |
8463 | 8467 | | |
8464 | 8468 | | |
8465 | 8469 | | |
8466 | 8470 | | |
8467 | 8471 | | |
8468 | 8472 | | |
8469 | | - | |
8470 | | - | |
| 8473 | + | |
| 8474 | + | |
8471 | 8475 | | |
8472 | | - | |
| 8476 | + | |
8473 | 8477 | | |
| 8478 | + | |
| 8479 | + | |
| 8480 | + | |
| 8481 | + | |
| 8482 | + | |
| 8483 | + | |
8474 | 8484 | | |
8475 | 8485 | | |
8476 | 8486 | | |
| |||
10506 | 10516 | | |
10507 | 10517 | | |
10508 | 10518 | | |
10509 | | - | |
| 10519 | + | |
10510 | 10520 | | |
10511 | 10521 | | |
10512 | 10522 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1255 | 1255 | | |
1256 | 1256 | | |
1257 | 1257 | | |
1258 | | - | |
| 1258 | + | |
| 1259 | + | |
| 1260 | + | |
| 1261 | + | |
| 1262 | + | |
| 1263 | + | |
| 1264 | + | |
| 1265 | + | |
1259 | 1266 | | |
1260 | 1267 | | |
1261 | 1268 | | |
| |||
1377 | 1384 | | |
1378 | 1385 | | |
1379 | 1386 | | |
1380 | | - | |
| 1387 | + | |
1381 | 1388 | | |
1382 | 1389 | | |
1383 | 1390 | | |
| |||
0 commit comments