Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
[linux-2.6-microblaze.git] / drivers / scsi / mpt3sas / mpt3sas_base.c
index 26537d5..6e23dc3 100644 (file)
@@ -1824,6 +1824,13 @@ _base_irqpoll(struct irq_poll *irqpoll, int budget)
                reply_q->irq_poll_scheduled = false;
                reply_q->irq_line_enable = true;
                enable_irq(reply_q->os_irq);
+               /*
+                * Go for one more round of processing the
+                * reply descriptor post queue incase if HBA
+                * Firmware has posted some reply descriptors
+                * while reenabling the IRQ.
+                */
+               _base_process_reply_queue(reply_q);
        }
 
        return num_entries;
@@ -6881,7 +6888,7 @@ _base_send_ioc_init(struct MPT3SAS_ADAPTER *ioc)
 
        r = _base_handshake_req_reply_wait(ioc,
            sizeof(Mpi2IOCInitRequest_t), (u32 *)&mpi_request,
-           sizeof(Mpi2IOCInitReply_t), (u16 *)&mpi_reply, 10);
+           sizeof(Mpi2IOCInitReply_t), (u16 *)&mpi_reply, 30);
 
        if (r != 0) {
                ioc_err(ioc, "%s: handshake failed (r=%d)\n", __func__, r);