#define FSACTL_FORCE_DELETE_DISK               CTL_CODE(2120, METHOD_NEITHER)
 #define FSACTL_GET_CONTAINERS                  2131
 #define FSACTL_SEND_LARGE_FIB                  CTL_CODE(2138, METHOD_BUFFERED)
+#define FSACTL_RESET_IOP                       CTL_CODE(2140, METHOD_BUFFERED)
 /* flags defined for IOP & HW SOFT RESET */
 #define HW_IOP_RESET                           0x01
 #define HW_SOFT_RESET                          0x02
 
        }
        return 0;
 }
+struct aac_reset_iop {
+       u8      reset_type;
+};
+
+static int aac_send_reset_adapter(struct aac_dev *dev, void __user *arg)
+{
+       struct aac_reset_iop reset;
+       int retval;
 
+       if (copy_from_user((void *)&reset, arg, sizeof(struct aac_reset_iop)))
+               return -EFAULT;
+
+       retval = aac_reset_adapter(dev, 0, reset.reset_type);
+       return retval;
+
+}
 
 int aac_do_ioctl(struct aac_dev * dev, int cmd, void __user *arg)
 {
        case FSACTL_GET_PCI_INFO:
                status = aac_get_pci_info(dev,arg);
                break;
+       case FSACTL_RESET_IOP:
+               status = aac_send_reset_adapter(dev, arg);
+               break;
+
        default:
                status = -ENOTTY;
                break;