ieee1394: sbp2: recheck node generation in sbp2_update

While sbp2_update() is doing its duties after a bus reset, another reset
could happen.  Don't accept new requests until the next undisturbed
sbp2_update() or until sbp2_remove().

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
diff --git a/drivers/ieee1394/sbp2.c b/drivers/ieee1394/sbp2.c
index b5bcca3..5440cd0 100644
--- a/drivers/ieee1394/sbp2.c
+++ b/drivers/ieee1394/sbp2.c
@@ -802,11 +802,12 @@
 	 */
 	sbp2scsi_complete_all_commands(scsi_id, DID_BUS_BUSY);
 
-	/* Make sure we unblock requests (since this is likely after a bus
-	 * reset). */
-	atomic_set(&scsi_id->unfinished_reset, 0);
-	scsi_unblock_requests(scsi_id->scsi_host);
-
+	/* Accept new commands unless there was another bus reset in the
+	 * meantime. */
+	if (hpsb_node_entry_valid(scsi_id->ne)) {
+		atomic_set(&scsi_id->unfinished_reset, 0);
+		scsi_unblock_requests(scsi_id->scsi_host);
+	}
 	return 0;
 }