Deleted Added
full compact
50c50
< __FBSDID("$FreeBSD: head/sys/dev/isp/isp.c 285146 2015-07-04 18:38:46Z mav $");
---
> __FBSDID("$FreeBSD: head/sys/dev/isp/isp.c 285154 2015-07-05 02:09:46Z mav $");
2236,2238d2235
< /*
< * It's up to the outer layers to clear isp_dev_map.
< */
3010,3012d3006
< /*
< * It's up to the outer layers to clear isp_dev_map.
< */
3032,3035d3025
< /*
< * It's up to the outer layers to assign a virtual
< * target id in isp_dev_map (if any).
< */
3057,3060d3046
< if (lp->dev_map_idx) {
< int t = lp->dev_map_idx - 1;
< fcp->isp_dev_map[t] = dbidx + 1;
< }
4357c4343,4344
< int target, dmaresult, hdlidx = 0;
---
> fcportdb_t *lp;
> int target, dmaresult;
4406,4407c4393,4396
< if (XS_TGT(xs) >= MAX_FC_TARG) {
< isp_prt(isp, ISP_LOG_WARN1, "%d.%d.%d target too big", XS_CHANNEL(xs), target, XS_LUN(xs));
---
> isp_prt(isp, ISP_LOGDEBUG2, "XS_TGT(xs)=%d", target);
> lp = &fcp->portdb[target];
> if (target < 0 || target >= MAX_FC_TARG ||
> lp->dev_map_idx == 0) {
4411,4418c4400
<
< hdlidx = fcp->isp_dev_map[XS_TGT(xs)] - 1;
< isp_prt(isp, ISP_LOGDEBUG2, "XS_TGT(xs)=%d- hdlidx value %d", XS_TGT(xs), hdlidx);
< if (hdlidx < 0 || hdlidx >= MAX_FC_TARG) {
< XS_SETERR(xs, HBA_SELTIMEOUT);
< return (CMD_COMPLETE);
< }
< if (fcp->portdb[hdlidx].state == FC_PORTDB_STATE_ZOMBIE) {
---
> if (lp->state == FC_PORTDB_STATE_ZOMBIE) {
4422,4423c4404,4405
< if (fcp->portdb[hdlidx].state != FC_PORTDB_STATE_VALID) {
< isp_prt(isp, ISP_LOGDEBUG1, "%d.%d.%d bad db port state 0x%x", XS_CHANNEL(xs), target, XS_LUN(xs), fcp->portdb[hdlidx].state);
---
> if (lp->state != FC_PORTDB_STATE_VALID) {
> isp_prt(isp, ISP_LOGDEBUG1, "%d.%d.%d bad db port state 0x%x", XS_CHANNEL(xs), target, XS_LUN(xs), lp->state);
4427,4428c4409
< target = fcp->portdb[hdlidx].handle;
< fcp->portdb[hdlidx].dirty = 1;
---
> lp->dirty = 1;
4570d4550
< fcportdb_t *lp;
4578,4579c4558
< lp = &FCPARAM(isp, XS_CHANNEL(xs))->portdb[hdlidx];
< t7->req_nphdl = target;
---
> t7->req_nphdl = lp->handle;
4599d4577
< fcportdb_t *lp;
4606d4583
< lp = &FCPARAM(isp, XS_CHANNEL(xs))->portdb[hdlidx];
4616c4593
< t2e->req_target = target;
---
> t2e->req_target = lp->handle;
4621c4598
< t2->req_target = target;
---
> t2->req_target = lp->handle;
4625c4602
< t2->req_target = target;
---
> t2->req_target = lp->handle;
4723d4699
< int hdlidx;
4725,4727c4701,4702
< hdlidx = fcp->isp_dev_map[tgt] - 1;
< if (hdlidx < 0 || hdlidx >= MAX_FC_TARG) {
< isp_prt(isp, ISP_LOGWARN, "Chan %d bad handle %d trying to reset target %d", chan, hdlidx, tgt);
---
> if (tgt < 0 || tgt >= MAX_FC_TARG) {
> isp_prt(isp, ISP_LOGWARN, "Chan %d trying to reset bad target %d", chan, tgt);
4730,4732c4705,4708
< lp = &fcp->portdb[hdlidx];
< if (lp->state != FC_PORTDB_STATE_VALID) {
< isp_prt(isp, ISP_LOGWARN, "Chan %d handle %d for abort of target %d no longer valid", chan, hdlidx, tgt);
---
> lp = &fcp->portdb[tgt];
> if (lp->dev_map_idx == 0 ||
> lp->state != FC_PORTDB_STATE_VALID) {
> isp_prt(isp, ISP_LOGWARN, "Chan %d abort of no longer valid target %d", chan, tgt);
4813d4788
< int hdlidx;
4816,4818c4791,4792
< hdlidx = fcp->isp_dev_map[tgt] - 1;
< if (hdlidx < 0 || hdlidx >= MAX_FC_TARG) {
< isp_prt(isp, ISP_LOGWARN, "Chan %d bad handle %d trying to abort target %d", chan, hdlidx, tgt);
---
> if (tgt < 0 || tgt >= MAX_FC_TARG) {
> isp_prt(isp, ISP_LOGWARN, "Chan %d trying to abort bad target %d", chan, tgt);
4821,4823c4795,4798
< lp = &fcp->portdb[hdlidx];
< if (lp->state != FC_PORTDB_STATE_VALID) {
< isp_prt(isp, ISP_LOGWARN, "Chan %d handle %d for abort of target %d no longer valid", chan, hdlidx, tgt);
---
> lp = &fcp->portdb[tgt];
> if (lp->dev_map_idx == 0 ||
> lp->state != FC_PORTDB_STATE_VALID) {
> isp_prt(isp, ISP_LOGWARN, "Chan %d abort of no longer valid target %d", chan, tgt);
4863c4838
< isp_prt(isp, ISP_LOGWARN, "Chan %d handle %d abort returned 0x%x", chan, hdlidx, ab->abrt_nphdl);
---
> isp_prt(isp, ISP_LOGWARN, "Chan %d handle %d abort returned 0x%x", chan, tgt, ab->abrt_nphdl);