diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-04 18:15:15 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-04 18:15:15 -0400 |
commit | 03da30986793385af57eeca3296253c887b742e6 (patch) | |
tree | 9c46dbe51c9d0856990649dd917ab45474b7be87 /drivers/scsi/cxgb3i | |
parent | 6ba74014c1ab0e37af7de6f64b4eccbbae3cb9e7 (diff) | |
parent | 339f4f4eab80caa6cf0d39fb057ad6ddb84ba91e (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (276 commits)
[SCSI] zfcp: Trigger logging in the FCP channel on qdio error conditions
[SCSI] zfcp: Introduce experimental support for DIF/DIX
[SCSI] zfcp: Enable data division support for FCP devices
[SCSI] zfcp: Prevent access on uninitialized memory.
[SCSI] zfcp: Post events through FC transport class
[SCSI] zfcp: Cleanup QDIO attachment and improve processing.
[SCSI] zfcp: Cleanup function parameters for sbal value.
[SCSI] zfcp: Use correct width for timer_interval field
[SCSI] zfcp: Remove SCSI device when removing unit
[SCSI] zfcp: Use memdup_user and kstrdup
[SCSI] zfcp: Fix retry after failed "open port" erp action
[SCSI] zfcp: Fail erp after timeout
[SCSI] zfcp: Use forced_reopen in terminate_rport_io callback
[SCSI] zfcp: Register SCSI devices after successful fc_remote_port_add
[SCSI] zfcp: Do not try "forced close" when port is already closed
[SCSI] zfcp: Do not unblock rport from REOPEN_PORT_FORCED
[SCSI] sd: add support for runtime PM
[SCSI] implement runtime Power Management
[SCSI] convert to the new PM framework
[SCSI] Unify SAM_ and SAM_STAT_ macros
...
Diffstat (limited to 'drivers/scsi/cxgb3i')
-rw-r--r-- | drivers/scsi/cxgb3i/cxgb3i_ddp.c | 2 | ||||
-rw-r--r-- | drivers/scsi/cxgb3i/cxgb3i_offload.c | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/drivers/scsi/cxgb3i/cxgb3i_ddp.c b/drivers/scsi/cxgb3i/cxgb3i_ddp.c index b58d9134ac1b..be0e23042c76 100644 --- a/drivers/scsi/cxgb3i/cxgb3i_ddp.c +++ b/drivers/scsi/cxgb3i/cxgb3i_ddp.c | |||
@@ -499,6 +499,7 @@ static int setup_conn_pgidx(struct t3cdev *tdev, unsigned int tid, int pg_idx, | |||
499 | /* set up ulp submode and page size */ | 499 | /* set up ulp submode and page size */ |
500 | req = (struct cpl_set_tcb_field *)skb_put(skb, sizeof(*req)); | 500 | req = (struct cpl_set_tcb_field *)skb_put(skb, sizeof(*req)); |
501 | req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); | 501 | req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); |
502 | req->wr.wr_lo = 0; | ||
502 | OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_SET_TCB_FIELD, tid)); | 503 | OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_SET_TCB_FIELD, tid)); |
503 | req->reply = V_NO_REPLY(reply ? 0 : 1); | 504 | req->reply = V_NO_REPLY(reply ? 0 : 1); |
504 | req->cpu_idx = 0; | 505 | req->cpu_idx = 0; |
@@ -564,6 +565,7 @@ int cxgb3i_setup_conn_digest(struct t3cdev *tdev, unsigned int tid, | |||
564 | /* set up ulp submode and page size */ | 565 | /* set up ulp submode and page size */ |
565 | req = (struct cpl_set_tcb_field *)skb_put(skb, sizeof(*req)); | 566 | req = (struct cpl_set_tcb_field *)skb_put(skb, sizeof(*req)); |
566 | req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); | 567 | req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); |
568 | req->wr.wr_lo = 0; | ||
567 | OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_SET_TCB_FIELD, tid)); | 569 | OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_SET_TCB_FIELD, tid)); |
568 | req->reply = V_NO_REPLY(reply ? 0 : 1); | 570 | req->reply = V_NO_REPLY(reply ? 0 : 1); |
569 | req->cpu_idx = 0; | 571 | req->cpu_idx = 0; |
diff --git a/drivers/scsi/cxgb3i/cxgb3i_offload.c b/drivers/scsi/cxgb3i/cxgb3i_offload.c index 3b6a06eebf7f..3ee13cf9556b 100644 --- a/drivers/scsi/cxgb3i/cxgb3i_offload.c +++ b/drivers/scsi/cxgb3i/cxgb3i_offload.c | |||
@@ -264,6 +264,7 @@ static void make_act_open_req(struct s3_conn *c3cn, struct sk_buff *skb, | |||
264 | skb->priority = CPL_PRIORITY_SETUP; | 264 | skb->priority = CPL_PRIORITY_SETUP; |
265 | req = (struct cpl_act_open_req *)__skb_put(skb, sizeof(*req)); | 265 | req = (struct cpl_act_open_req *)__skb_put(skb, sizeof(*req)); |
266 | req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); | 266 | req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); |
267 | req->wr.wr_lo = 0; | ||
267 | OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_ACT_OPEN_REQ, atid)); | 268 | OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_ACT_OPEN_REQ, atid)); |
268 | req->local_port = c3cn->saddr.sin_port; | 269 | req->local_port = c3cn->saddr.sin_port; |
269 | req->peer_port = c3cn->daddr.sin_port; | 270 | req->peer_port = c3cn->daddr.sin_port; |
@@ -273,6 +274,7 @@ static void make_act_open_req(struct s3_conn *c3cn, struct sk_buff *skb, | |||
273 | V_TX_CHANNEL(e->smt_idx)); | 274 | V_TX_CHANNEL(e->smt_idx)); |
274 | req->opt0l = htonl(calc_opt0l(c3cn)); | 275 | req->opt0l = htonl(calc_opt0l(c3cn)); |
275 | req->params = 0; | 276 | req->params = 0; |
277 | req->opt2 = 0; | ||
276 | } | 278 | } |
277 | 279 | ||
278 | static void fail_act_open(struct s3_conn *c3cn, int errno) | 280 | static void fail_act_open(struct s3_conn *c3cn, int errno) |
@@ -379,6 +381,7 @@ static void send_abort_req(struct s3_conn *c3cn) | |||
379 | 381 | ||
380 | c3cn->cpl_abort_req = NULL; | 382 | c3cn->cpl_abort_req = NULL; |
381 | req = (struct cpl_abort_req *)skb->head; | 383 | req = (struct cpl_abort_req *)skb->head; |
384 | memset(req, 0, sizeof(*req)); | ||
382 | 385 | ||
383 | skb->priority = CPL_PRIORITY_DATA; | 386 | skb->priority = CPL_PRIORITY_DATA; |
384 | set_arp_failure_handler(skb, abort_arp_failure); | 387 | set_arp_failure_handler(skb, abort_arp_failure); |
@@ -406,6 +409,7 @@ static void send_abort_rpl(struct s3_conn *c3cn, int rst_status) | |||
406 | c3cn->cpl_abort_rpl = NULL; | 409 | c3cn->cpl_abort_rpl = NULL; |
407 | 410 | ||
408 | skb->priority = CPL_PRIORITY_DATA; | 411 | skb->priority = CPL_PRIORITY_DATA; |
412 | memset(rpl, 0, sizeof(*rpl)); | ||
409 | rpl->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_HOST_ABORT_CON_RPL)); | 413 | rpl->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_HOST_ABORT_CON_RPL)); |
410 | rpl->wr.wr_lo = htonl(V_WR_TID(c3cn->tid)); | 414 | rpl->wr.wr_lo = htonl(V_WR_TID(c3cn->tid)); |
411 | OPCODE_TID(rpl) = htonl(MK_OPCODE_TID(CPL_ABORT_RPL, c3cn->tid)); | 415 | OPCODE_TID(rpl) = htonl(MK_OPCODE_TID(CPL_ABORT_RPL, c3cn->tid)); |
@@ -430,6 +434,7 @@ static u32 send_rx_credits(struct s3_conn *c3cn, u32 credits, u32 dack) | |||
430 | 434 | ||
431 | req = (struct cpl_rx_data_ack *)__skb_put(skb, sizeof(*req)); | 435 | req = (struct cpl_rx_data_ack *)__skb_put(skb, sizeof(*req)); |
432 | req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); | 436 | req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_FORWARD)); |
437 | req->wr.wr_lo = 0; | ||
433 | OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_RX_DATA_ACK, c3cn->tid)); | 438 | OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_RX_DATA_ACK, c3cn->tid)); |
434 | req->credit_dack = htonl(dack | V_RX_CREDITS(credits)); | 439 | req->credit_dack = htonl(dack | V_RX_CREDITS(credits)); |
435 | skb->priority = CPL_PRIORITY_ACK; | 440 | skb->priority = CPL_PRIORITY_ACK; |