spin_lock_irq(&adapter->lock);
 
-       rval =  megaraid_abort_and_reset(adapter, cmd, SCB_RESET);
+       rval =  megaraid_abort_and_reset(adapter, NULL, SCB_RESET);
 
        /*
         * This is required here to complete any completed requests
 
                scb = list_entry(pos, scb_t, list);
 
-               if (scb->cmd == cmd) { /* Found command */
+               if (!cmd || scb->cmd == cmd) { /* Found command */
 
                        scb->state |= aor;
 
 
                                return FAILED;
                        }
-                       else {
-
-                               /*
-                                * Not yet issued! Remove from the pending
-                                * list
-                                */
-                               dev_warn(&adapter->dev->dev,
-                                       "%s-[%x], driver owner\n",
-                                       (aor==SCB_ABORT) ? "ABORTING":"RESET",
-                                       scb->idx);
-
-                               mega_free_scb(adapter, scb);
-
-                               if( aor == SCB_ABORT ) {
-                                       cmd->result = (DID_ABORT << 16);
-                               }
-                               else {
-                                       cmd->result = (DID_RESET << 16);
-                               }
+                       /*
+                        * Not yet issued! Remove from the pending
+                        * list
+                        */
+                       dev_warn(&adapter->dev->dev,
+                                "%s-[%x], driver owner\n",
+                                (cmd) ? "ABORTING":"RESET",
+                                scb->idx);
+                       mega_free_scb(adapter, scb);
 
+                       if (cmd) {
+                               cmd->result = (DID_ABORT << 16);
                                list_add_tail(SCSI_LIST(cmd),
-                                               &adapter->completed_list);
-
-                               return SUCCESS;
+                                             &adapter->completed_list);
                        }
+
+                       return SUCCESS;
                }
        }
 
        .sg_tablesize                   = MAX_SGLIST,
        .cmd_per_lun                    = DEF_CMD_PER_LUN,
        .eh_abort_handler               = megaraid_abort,
-       .eh_device_reset_handler        = megaraid_reset,
-       .eh_bus_reset_handler           = megaraid_reset,
        .eh_host_reset_handler          = megaraid_reset,
        .no_write_same                  = 1,
        .cmd_size                       = sizeof(struct megaraid_cmd_priv),