+ * the lport to be reset before we fill out the frame header's port_id. The
+ * problem is that a reset would cause the lport's port_id to reset to 0.
+ * If we don't protect the lport we'd spew incorrect frames.
-+ *
++ *
+ * At the time of this writing there are two primary mutexes, one for the
+ * lport and one for the rport. Since the lport uses the rport and makes
+ * calls into that block the rport should never make calls that would cause
- BUG();
- break;
+ if (!fp || PTR_ERR(fp) == -FC_EX_TIMEOUT) {
-+ /*
++ /*
+ * Memory allocation failure, or the exchange timed out.
+ * Retry after delay
+ */