if (drv >= MAX_DRV)
return STA_NOINIT; /* Supports only single drive */
if (socket[drv].stat & STA_NODISK)
- return socket[drv].stat; /* No card in the socket */
+ return socket[drv].stat & STAT_MASK; /* No card in the socket */
power_on(drv); /* Force socket power on */
socket[drv].stat &= ~STA_FAST;
power_off(drv);
}
- return socket[drv].stat;
+ return socket[drv].stat & STAT_MASK;
}
/*-----------------------------------------------------------------------*/
{
if (drv >= MAX_DRV)
return STA_NOINIT;
- return socket[drv].stat;
+ return socket[drv].stat & STAT_MASK;
}
/*-----------------------------------------------------------------------*/
#define STA_NODISK 0x02 /* No medium in the drive */
#define STA_PROTECT 0x04 /* Write protected */
#define STA_FAST 0x08 /* Fast SPI clock */
+#define STAT_MASK (STA_NOINIT | STA_NODISK | STA_PROTECT)
/* Command code for disk_ioctrl() */