aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/dm9000.c28
1 files changed, 22 insertions, 6 deletions
diff --git a/drivers/net/dm9000.c b/drivers/net/dm9000.c
index 45ab6edd1b5b..851618338b2e 100644
--- a/drivers/net/dm9000.c
+++ b/drivers/net/dm9000.c
@@ -714,7 +714,8 @@ dm9000_open(struct net_device *dev)
714 board_info_t *db = (board_info_t *) dev->priv; 714 board_info_t *db = (board_info_t *) dev->priv;
715 unsigned long irqflags = db->irq_res->flags & IRQF_TRIGGER_MASK; 715 unsigned long irqflags = db->irq_res->flags & IRQF_TRIGGER_MASK;
716 716
717 dev_dbg(db->dev, "entering %s\n", __func__); 717 if (netif_msg_ifup(db))
718 dev_dbg(db->dev, "enabling %s\n", dev->name);
718 719
719 /* If there is no IRQ type specified, default to something that 720 /* If there is no IRQ type specified, default to something that
720 * may work, and tell the user that this is a problem */ 721 * may work, and tell the user that this is a problem */
@@ -855,7 +856,8 @@ dm9000_stop(struct net_device *ndev)
855{ 856{
856 board_info_t *db = (board_info_t *) ndev->priv; 857 board_info_t *db = (board_info_t *) ndev->priv;
857 858
858 dm9000_dbg(db, 1, "entering %s\n", __func__); 859 if (netif_msg_ifdown(db))
860 dev_dbg(db->dev, "shutting down %s\n", ndev->name);
859 861
860 netif_stop_queue(ndev); 862 netif_stop_queue(ndev);
861 netif_carrier_off(ndev); 863 netif_carrier_off(ndev);
@@ -883,6 +885,9 @@ dm9000_tx_done(struct net_device *dev, board_info_t * db)
883 db->tx_pkt_cnt--; 885 db->tx_pkt_cnt--;
884 dev->stats.tx_packets++; 886 dev->stats.tx_packets++;
885 887
888 if (netif_msg_tx_done(db))
889 dev_dbg(db->dev, "tx done, NSR %02x\n", tx_status);
890
886 /* Queue packet check & send */ 891 /* Queue packet check & send */
887 if (db->tx_pkt_cnt > 0) { 892 if (db->tx_pkt_cnt > 0) {
888 iow(db, DM9000_TXPLL, db->queue_pkt_len & 0xff); 893 iow(db, DM9000_TXPLL, db->queue_pkt_len & 0xff);
@@ -918,6 +923,9 @@ dm9000_interrupt(int irq, void *dev_id)
918 int_status = ior(db, DM9000_ISR); /* Got ISR */ 923 int_status = ior(db, DM9000_ISR); /* Got ISR */
919 iow(db, DM9000_ISR, int_status); /* Clear ISR status */ 924 iow(db, DM9000_ISR, int_status); /* Clear ISR status */
920 925
926 if (netif_msg_intr(db))
927 dev_dbg(db->dev, "interrupt status %02x\n", int_status);
928
921 /* Received the coming packet */ 929 /* Received the coming packet */
922 if (int_status & ISR_PRS) 930 if (int_status & ISR_PRS)
923 dm9000_rx(dev); 931 dm9000_rx(dev);
@@ -982,10 +990,15 @@ dm9000_rx(struct net_device *dev)
982 990
983 RxLen = le16_to_cpu(rxhdr.RxLen); 991 RxLen = le16_to_cpu(rxhdr.RxLen);
984 992
993 if (netif_msg_rx_status(db))
994 dev_dbg(db->dev, "RX: status %02x, length %04x\n",
995 rxhdr.RxStatus, RxLen);
996
985 /* Packet Status check */ 997 /* Packet Status check */
986 if (RxLen < 0x40) { 998 if (RxLen < 0x40) {
987 GoodPacket = false; 999 GoodPacket = false;
988 dev_dbg(db->dev, "Bad Packet received (runt)\n"); 1000 if (netif_msg_rx_err(db))
1001 dev_dbg(db->dev, "RX: Bad Packet (runt)\n");
989 } 1002 }
990 1003
991 if (RxLen > DM9000_PKT_MAX) { 1004 if (RxLen > DM9000_PKT_MAX) {
@@ -995,15 +1008,18 @@ dm9000_rx(struct net_device *dev)
995 if (rxhdr.RxStatus & 0xbf) { 1008 if (rxhdr.RxStatus & 0xbf) {
996 GoodPacket = false; 1009 GoodPacket = false;
997 if (rxhdr.RxStatus & 0x01) { 1010 if (rxhdr.RxStatus & 0x01) {
998 dev_dbg(db->dev, "fifo error\n"); 1011 if (netif_msg_rx_err(db))
1012 dev_dbg(db->dev, "fifo error\n");
999 dev->stats.rx_fifo_errors++; 1013 dev->stats.rx_fifo_errors++;
1000 } 1014 }
1001 if (rxhdr.RxStatus & 0x02) { 1015 if (rxhdr.RxStatus & 0x02) {
1002 dev_dbg(db->dev, "crc error\n"); 1016 if (netif_msg_rx_err(db))
1017 dev_dbg(db->dev, "crc error\n");
1003 dev->stats.rx_crc_errors++; 1018 dev->stats.rx_crc_errors++;
1004 } 1019 }
1005 if (rxhdr.RxStatus & 0x80) { 1020 if (rxhdr.RxStatus & 0x80) {
1006 dev_dbg(db->dev, "length error\n"); 1021 if (netif_msg_rx_err(db))
1022 dev_dbg(db->dev, "length error\n");
1007 dev->stats.rx_length_errors++; 1023 dev->stats.rx_length_errors++;
1008 } 1024 }
1009 } 1025 }