firewire: sbp2: revert obsolete 'fix stall with "Unsolicited response"'
authorStefan Richter <stefanr@s5r6.in-berlin.de>
Mon, 14 Mar 2011 23:04:42 +0000 (00:04 +0100)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Sun, 20 Mar 2011 15:45:24 +0000 (16:45 +0100)
Now that firewire-core sets the local node's SPLIT_TIMEOUT to 2 seconds
per default, commit a481e97d3cdc40b9d58271675bd4f0abb79d4872 is no
longer required.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
drivers/firewire/sbp2.c

index afa576a..77ed589 100644 (file)
@@ -472,18 +472,12 @@ static void complete_transaction(struct fw_card *card, int rcode,
         * So this callback only sets the rcode if it hasn't already
         * been set and only does the cleanup if the transaction
         * failed and we didn't already get a status write.
-        *
-        * Here we treat RCODE_CANCELLED like RCODE_COMPLETE because some
-        * OXUF936QSE firmwares occasionally respond after Split_Timeout and
-        * complete the ORB just fine.  Note, we also get RCODE_CANCELLED
-        * from sbp2_cancel_orbs() if fw_cancel_transaction() == 0.
         */
        spin_lock_irqsave(&card->lock, flags);
 
        if (orb->rcode == -1)
                orb->rcode = rcode;
-
-       if (orb->rcode != RCODE_COMPLETE && orb->rcode != RCODE_CANCELLED) {
+       if (orb->rcode != RCODE_COMPLETE) {
                list_del(&orb->link);
                spin_unlock_irqrestore(&card->lock, flags);
 
@@ -532,7 +526,8 @@ static int sbp2_cancel_orbs(struct sbp2_logical_unit *lu)
 
        list_for_each_entry_safe(orb, next, &list, link) {
                retval = 0;
-               fw_cancel_transaction(device->card, &orb->t);
+               if (fw_cancel_transaction(device->card, &orb->t) == 0)
+                       continue;
 
                orb->rcode = RCODE_CANCELLED;
                orb->callback(orb, NULL);