}
 
        DP(NETIF_MSG_TX_QUEUED,
-          "queue[%d]: SKB: summed %x  protocol %x protocol(%x,%x) gso type %x  xmit_type %x\n",
+          "queue[%d]: SKB: summed %x  protocol %x protocol(%x,%x) gso type %x  xmit_type %x len %d\n",
           txq_index, skb->ip_summed, skb->protocol, ipv6_hdr(skb)->nexthdr,
-          ip_hdr(skb)->protocol, skb_shinfo(skb)->gso_type, xmit_type);
+          ip_hdr(skb)->protocol, skb_shinfo(skb)->gso_type, xmit_type,
+          skb->len);
 
        eth = (struct ethhdr *)skb->data;
 
        } else /* if rx_ring_size specified - use it */
                rx_ring_size = bp->rx_ring_size;
 
+       DP(BNX2X_MSG_SP, "calculated rx_ring_size %d\n", rx_ring_size);
+
        /* Common */
        sb = &bnx2x_fp(bp, index, status_blk);
 
 
 {
        struct bnx2x *bp = netdev_priv(dev);
 
+       DP(BNX2X_MSG_ETHTOOL,
+          "set ring params command parameters: rx_pending = %d, tx_pending = %d\n",
+          ering->rx_pending, ering->tx_pending);
+
        if (bp->recovery_state != BNX2X_RECOVERY_DONE) {
                DP(BNX2X_MSG_ETHTOOL,
                   "Handling parity error recovery. Try again later\n");
 
        }
 
 #ifdef BNX2X_STOP_ON_ERROR
+
+       /* event queue */
+       for (i = 0; i < NUM_EQ_DESC; i++) {
+               u32 *data = (u32 *)&bp->eq_ring[i].message.data;
+
+               BNX2X_ERR("event queue [%d]: header: opcode %d, error %d\n",
+                         i, bp->eq_ring[i].message.opcode,
+                         bp->eq_ring[i].message.error);
+               BNX2X_ERR("data: %x %x %x\n", data[0], data[1], data[2]);
+       }
+
        /* Rings */
        /* Rx */
        for_each_valid_rx_queue(bp, i) {
        /* FLR cleanup - hmmm */
        if (!CHIP_IS_E1x(bp)) {
                rc = bnx2x_pf_flr_clnup(bp);
-               if (rc)
+               if (rc) {
+                       bnx2x_fw_dump(bp);
                        return rc;
+               }
        }
 
        /* set MSI reconfigure capability */
        if (bnx2x_prev_is_path_marked(bp))
                return bnx2x_prev_mcp_done(bp);
 
+       BNX2X_DEV_INFO("Path is unmarked\n");
+
        /* If function has FLR capabilities, and existing FW version matches
         * the one required, then FLR will be sufficient to clean any residue
         * left by previous driver
        if (!CHIP_IS_E1x(bp)) {
                u32 val = REG_RD(bp, PGLUE_B_REG_PGLUE_B_INT_STS);
                if (val & PGLUE_B_PGLUE_B_INT_STS_REG_WAS_ERROR_ATTN) {
-                       BNX2X_ERR("was error bit was found to be set in pglueb upon startup. Clearing");
+                       DP(BNX2X_MSG_SP,
+                          "'was error' bit was found to be set in pglueb upon startup. Clearing\n");
                        REG_WR(bp, PGLUE_B_REG_WAS_ERROR_PF_7_0_CLR,
                               1 << BP_FUNC(bp));
                }
                dev_err(&pdev->dev, "Cannot set interrupts\n");
                goto init_one_exit;
        }
+       BNX2X_DEV_INFO("set interrupts successfully\n");
 
        /* register the net device */
        rc = register_netdev(dev);
 
        unsigned long *pending = &o->pending;
 
        /* Check that the requested transition is legal */
-       if (o->check_transition(bp, o, params))
+       rc = o->check_transition(bp, o, params);
+       if (rc) {
+               BNX2X_ERR("check transition returned an error. rc %d\n", rc);
                return -EINVAL;
+       }
 
        /* Set "pending" bit */
+       DP(BNX2X_MSG_SP, "pending bit was=%lx\n", o->pending);
        pending_bit = o->set_pending(o, params);
+       DP(BNX2X_MSG_SP, "pending bit now=%lx\n", o->pending);
 
        /* Don't send a command if only driver cleanup was requested */
        if (test_bit(RAMROD_DRV_CLR_ONLY, ¶ms->ramrod_flags))
         * Don't allow a next state transition if we are in the middle of
         * the previous one.
         */
-       if (o->pending)
+       if (o->pending) {
+               BNX2X_ERR("Blocking transition since pending was %lx\n",
+                         o->pending);
                return -EBUSY;
+       }
 
        switch (state) {
        case BNX2X_Q_STATE_RESET: