]> Pileus Git - ~andy/linux/commitdiff
sbp-target: use simple assignment in tgt_agent_rw_agent_state()
authorChris Boot <bootc@bootc.net>
Tue, 11 Dec 2012 21:58:47 +0000 (21:58 +0000)
committerNicholas Bellinger <nab@linux-iscsi.org>
Thu, 13 Dec 2012 05:16:47 +0000 (21:16 -0800)
There is no need to memcpy() a 32-bit integer. The data pointer is
guaranteed to be quadlet aligned by the FireWire stack so we can replace
the memcpy() with an assignment.

Thanks to Stefan Richter.

Signed-off-by: Chris Boot <bootc@bootc.net>
Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: Andy Grover <agrover@redhat.com>
Cc: Clemens Ladisch <clemens@ladisch.de>
Cc: Nicholas A. Bellinger <nab@linux-iscsi.org>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/sbp/sbp_target.c

index 0d6d7c1f025ea11a465fff1a04c8568055214272..f0a2a1d982a21316aa1a3e3b2ce16928f43989de 100644 (file)
@@ -704,16 +704,17 @@ static void session_maintenance_work(struct work_struct *work)
 static int tgt_agent_rw_agent_state(struct fw_card *card, int tcode, void *data,
                struct sbp_target_agent *agent)
 {
-       __be32 state;
+       int state;
 
        switch (tcode) {
        case TCODE_READ_QUADLET_REQUEST:
                pr_debug("tgt_agent AGENT_STATE READ\n");
 
                spin_lock_bh(&agent->lock);
-               state = cpu_to_be32(agent->state);
+               state = agent->state;
                spin_unlock_bh(&agent->lock);
-               memcpy(data, &state, sizeof(state));
+
+               *(__be32 *)data = cpu_to_be32(state);
 
                return RCODE_COMPLETE;