diff options
Diffstat (limited to 'drivers/misc/sgi-xp/xpc_sn2.c')
-rw-r--r-- | drivers/misc/sgi-xp/xpc_sn2.c | 16 |
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 | */ |
598 | static void | 598 | static void |
599 | xpc_update_partition_info_sn2(struct xpc_partition *part, u8 remote_rp_version, | 599 | xpc_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 |