If you want to drop a diskgroup that contains the SP file of an ASM instance you will get an error. Because the diskgroup is being used by the ASM instance which is something like chicken-egg problem. If we can move the spfile somewhere else then we can drop that diskgroup. We can achieve that problem either modifying the asm using srvctl command or spmove command. I will use spmove for this purpose.
lets move the spfile to the $ORACLE_HOME/dbs directory
ASMCMD> spmove +DATA/asm/asmparameterfile/registry.253.820278587 /u01/app/oracle/product/11.2.0/grid/dbs/spfile+ASM.ora
ORA-15032: not all alterations performed
ORA-15028: ASM file '+DATA/asm/asmparameterfile/registry.253.820278587' not dropped; currently being used(DBD ERROR: OCIStmtExecute)
[oracle@node1 ~]$ srvctl stop asm
[oracle@node1 ~]$ srvctl start asm
[oracle@node1 ~]$ srvctl config asm
ASM home: /u01/app/oracle/product/11.2.0/grid
ASM listener: LISTENER
ASM diskgroup discovery string:
Now the spfile is moved to the local filesystem /u01/app/oracle/product/11.2.0/grid/dbs/spfile+ASM.ora
I can drop my diskgroup without getting any errors.