aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/target/sbp/sbp_target.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/target/sbp/sbp_target.c')
-rw-r--r--drivers/target/sbp/sbp_target.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/target/sbp/sbp_target.c b/drivers/target/sbp/sbp_target.c
index 0d6d7c1f025e..f0a2a1d982a2 100644
--- a/drivers/target/sbp/sbp_target.c
+++ b/drivers/target/sbp/sbp_target.c
@@ -704,16 +704,17 @@ static void session_maintenance_work(struct work_struct *work)
704static int tgt_agent_rw_agent_state(struct fw_card *card, int tcode, void *data, 704static int tgt_agent_rw_agent_state(struct fw_card *card, int tcode, void *data,
705 struct sbp_target_agent *agent) 705 struct sbp_target_agent *agent)
706{ 706{
707 __be32 state; 707 int state;
708 708
709 switch (tcode) { 709 switch (tcode) {
710 case TCODE_READ_QUADLET_REQUEST: 710 case TCODE_READ_QUADLET_REQUEST:
711 pr_debug("tgt_agent AGENT_STATE READ\n"); 711 pr_debug("tgt_agent AGENT_STATE READ\n");
712 712
713 spin_lock_bh(&agent->lock); 713 spin_lock_bh(&agent->lock);
714 state = cpu_to_be32(agent->state); 714 state = agent->state;
715 spin_unlock_bh(&agent->lock); 715 spin_unlock_bh(&agent->lock);
716 memcpy(data, &state, sizeof(state)); 716
717 *(__be32 *)data = cpu_to_be32(state);
717 718
718 return RCODE_COMPLETE; 719 return RCODE_COMPLETE;
719 720