aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firewire/fw-sbp2.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/firewire/fw-sbp2.c')
-rw-r--r--drivers/firewire/fw-sbp2.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/firewire/fw-sbp2.c b/drivers/firewire/fw-sbp2.c
index d406c34fd378..705a20ce6b4a 100644
--- a/drivers/firewire/fw-sbp2.c
+++ b/drivers/firewire/fw-sbp2.c
@@ -40,6 +40,7 @@
40#include <linux/stringify.h> 40#include <linux/stringify.h>
41#include <linux/timer.h> 41#include <linux/timer.h>
42#include <linux/workqueue.h> 42#include <linux/workqueue.h>
43#include <asm/system.h>
43 44
44#include <scsi/scsi.h> 45#include <scsi/scsi.h>
45#include <scsi/scsi_cmnd.h> 46#include <scsi/scsi_cmnd.h>
@@ -662,6 +663,7 @@ static void sbp2_login(struct work_struct *work)
662 int generation, node_id, local_node_id; 663 int generation, node_id, local_node_id;
663 664
664 generation = device->generation; 665 generation = device->generation;
666 smp_rmb(); /* node_id must not be older than generation */
665 node_id = device->node_id; 667 node_id = device->node_id;
666 local_node_id = device->card->node_id; 668 local_node_id = device->card->node_id;
667 669
@@ -912,6 +914,7 @@ static void sbp2_reconnect(struct work_struct *work)
912 int generation, node_id, local_node_id; 914 int generation, node_id, local_node_id;
913 915
914 generation = device->generation; 916 generation = device->generation;
917 smp_rmb(); /* node_id must not be older than generation */
915 node_id = device->node_id; 918 node_id = device->node_id;
916 local_node_id = device->card->node_id; 919 local_node_id = device->card->node_id;
917 920