#define ETH_ZLEN       60
 
 struct ftmac100_data {
-       volatile struct ftmac100_txdes txdes[1];
-       volatile struct ftmac100_rxdes rxdes[PKTBUFSRX];
+       struct ftmac100_txdes txdes[1];
+       struct ftmac100_rxdes rxdes[PKTBUFSRX];
        int rx_index;
 };
 
 {
        struct ftmac100 *ftmac100 = (struct ftmac100 *)dev->iobase;
        struct ftmac100_data *priv = dev->priv;
-       volatile struct ftmac100_txdes *txdes = priv->txdes;
-       volatile struct ftmac100_rxdes *rxdes = priv->rxdes;
+       struct ftmac100_txdes *txdes = priv->txdes;
+       struct ftmac100_rxdes *rxdes = priv->rxdes;
        unsigned int maccr;
        int i;
 
 static int ftmac100_recv (struct eth_device *dev)
 {
        struct ftmac100_data *priv = dev->priv;
-       volatile struct ftmac100_rxdes *curr_des;
+       struct ftmac100_rxdes *curr_des;
        unsigned short rxlen;
 
        curr_des = &priv->rxdes[priv->rx_index];
 {
        struct ftmac100 *ftmac100 = (struct ftmac100 *)dev->iobase;
        struct ftmac100_data *priv = dev->priv;
-       volatile struct ftmac100_txdes *curr_des = priv->txdes;
        int tmo;
+       struct ftmac100_txdes *curr_des = priv->txdes;
 
        if (curr_des->txdes0 & FTMAC100_TXDES0_TXDMA_OWN) {
                debug ("%s(): no TX descriptor available\n", __func__);