aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/sgi-xp/xpc_sn2.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/misc/sgi-xp/xpc_sn2.c')
-rw-r--r--drivers/misc/sgi-xp/xpc_sn2.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/drivers/misc/sgi-xp/xpc_sn2.c b/drivers/misc/sgi-xp/xpc_sn2.c
index 89c0bb9a27f5..7216df36bc73 100644
--- a/drivers/misc/sgi-xp/xpc_sn2.c
+++ b/drivers/misc/sgi-xp/xpc_sn2.c
@@ -597,8 +597,8 @@ xpc_initiate_partition_activation_sn2(struct xpc_rsvd_page *remote_rp,
597 */ 597 */
598static void 598static void
599xpc_update_partition_info_sn2(struct xpc_partition *part, u8 remote_rp_version, 599xpc_update_partition_info_sn2(struct xpc_partition *part, u8 remote_rp_version,
600 struct timespec *remote_rp_stamp, 600 unsigned long *remote_rp_stamp, u64 remote_rp_pa,
601 u64 remote_rp_pa, u64 remote_vars_pa, 601 u64 remote_vars_pa,
602 struct xpc_vars_sn2 *remote_vars) 602 struct xpc_vars_sn2 *remote_vars)
603{ 603{
604 part->remote_rp_version = remote_rp_version; 604 part->remote_rp_version = remote_rp_version;
@@ -606,8 +606,8 @@ xpc_update_partition_info_sn2(struct xpc_partition *part, u8 remote_rp_version,
606 part->remote_rp_version); 606 part->remote_rp_version);
607 607
608 part->remote_rp_stamp = *remote_rp_stamp; 608 part->remote_rp_stamp = *remote_rp_stamp;
609 dev_dbg(xpc_part, " remote_rp_stamp (tv_sec = 0x%lx tv_nsec = 0x%lx\n", 609 dev_dbg(xpc_part, " remote_rp_stamp = 0x%016lx\n",
610 part->remote_rp_stamp.tv_sec, part->remote_rp_stamp.tv_nsec); 610 part->remote_rp_stamp);
611 611
612 part->remote_rp_pa = remote_rp_pa; 612 part->remote_rp_pa = remote_rp_pa;
613 dev_dbg(xpc_part, " remote_rp_pa = 0x%016lx\n", part->remote_rp_pa); 613 dev_dbg(xpc_part, " remote_rp_pa = 0x%016lx\n", part->remote_rp_pa);
@@ -664,8 +664,7 @@ xpc_identify_act_IRQ_req_sn2(int nasid)
664 u64 remote_vars_pa; 664 u64 remote_vars_pa;
665 int remote_rp_version; 665 int remote_rp_version;
666 int reactivate = 0; 666 int reactivate = 0;
667 int stamp_diff; 667 unsigned long remote_rp_stamp = 0;
668 struct timespec remote_rp_stamp = { 0, 0 }; /*>>> ZERO_STAMP */
669 short partid; 668 short partid;
670 struct xpc_partition *part; 669 struct xpc_partition *part;
671 enum xp_retval ret; 670 enum xp_retval ret;
@@ -788,10 +787,7 @@ xpc_identify_act_IRQ_req_sn2(int nasid)
788 } else { 787 } else {
789 DBUG_ON(!XPC_SUPPORTS_DISENGAGE_REQUEST(remote_vars->version)); 788 DBUG_ON(!XPC_SUPPORTS_DISENGAGE_REQUEST(remote_vars->version));
790 789
791 stamp_diff = xpc_compare_stamps(&part->remote_rp_stamp, 790 if (remote_rp_stamp != part->remote_rp_stamp) {
792 &remote_rp_stamp);
793 if (stamp_diff != 0) {
794 DBUG_ON(stamp_diff >= 0);
795 791
796 /* 792 /*
797 * Other side rebooted and the previous XPC did support 793 * Other side rebooted and the previous XPC did support