aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/spider_net.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/spider_net.c')
-rw-r--r--drivers/net/spider_net.c184
1 files changed, 127 insertions, 57 deletions
diff --git a/drivers/net/spider_net.c b/drivers/net/spider_net.c
index 7a4aa6a9f949..f5abb5279d4d 100644
--- a/drivers/net/spider_net.c
+++ b/drivers/net/spider_net.c
@@ -434,7 +434,8 @@ spider_net_prepare_rx_descr(struct spider_net_card *card,
434 bufsize + SPIDER_NET_RXBUF_ALIGN - 1); 434 bufsize + SPIDER_NET_RXBUF_ALIGN - 1);
435 if (!descr->skb) { 435 if (!descr->skb) {
436 if (netif_msg_rx_err(card) && net_ratelimit()) 436 if (netif_msg_rx_err(card) && net_ratelimit())
437 pr_err("Not enough memory to allocate rx buffer\n"); 437 dev_err(&card->netdev->dev,
438 "Not enough memory to allocate rx buffer\n");
438 card->spider_stats.alloc_rx_skb_error++; 439 card->spider_stats.alloc_rx_skb_error++;
439 return -ENOMEM; 440 return -ENOMEM;
440 } 441 }
@@ -455,7 +456,7 @@ spider_net_prepare_rx_descr(struct spider_net_card *card,
455 dev_kfree_skb_any(descr->skb); 456 dev_kfree_skb_any(descr->skb);
456 descr->skb = NULL; 457 descr->skb = NULL;
457 if (netif_msg_rx_err(card) && net_ratelimit()) 458 if (netif_msg_rx_err(card) && net_ratelimit())
458 pr_err("Could not iommu-map rx buffer\n"); 459 dev_err(&card->netdev->dev, "Could not iommu-map rx buffer\n");
459 card->spider_stats.rx_iommu_map_error++; 460 card->spider_stats.rx_iommu_map_error++;
460 hwdescr->dmac_cmd_status = SPIDER_NET_DESCR_NOT_IN_USE; 461 hwdescr->dmac_cmd_status = SPIDER_NET_DESCR_NOT_IN_USE;
461 } else { 462 } else {
@@ -500,6 +501,20 @@ spider_net_enable_rxdmac(struct spider_net_card *card)
500} 501}
501 502
502/** 503/**
504 * spider_net_disable_rxdmac - disables the receive DMA controller
505 * @card: card structure
506 *
507 * spider_net_disable_rxdmac terminates processing on the DMA controller
508 * by turing off the DMA controller, with the force-end flag set.
509 */
510static inline void
511spider_net_disable_rxdmac(struct spider_net_card *card)
512{
513 spider_net_write_reg(card, SPIDER_NET_GDADMACCNTR,
514 SPIDER_NET_DMA_RX_FEND_VALUE);
515}
516
517/**
503 * spider_net_refill_rx_chain - refills descriptors/skbs in the rx chains 518 * spider_net_refill_rx_chain - refills descriptors/skbs in the rx chains
504 * @card: card structure 519 * @card: card structure
505 * 520 *
@@ -655,20 +670,6 @@ write_hash:
655} 670}
656 671
657/** 672/**
658 * spider_net_disable_rxdmac - disables the receive DMA controller
659 * @card: card structure
660 *
661 * spider_net_disable_rxdmac terminates processing on the DMA controller by
662 * turing off DMA and issueing a force end
663 */
664static void
665spider_net_disable_rxdmac(struct spider_net_card *card)
666{
667 spider_net_write_reg(card, SPIDER_NET_GDADMACCNTR,
668 SPIDER_NET_DMA_RX_FEND_VALUE);
669}
670
671/**
672 * spider_net_prepare_tx_descr - fill tx descriptor with skb data 673 * spider_net_prepare_tx_descr - fill tx descriptor with skb data
673 * @card: card structure 674 * @card: card structure
674 * @descr: descriptor structure to fill out 675 * @descr: descriptor structure to fill out
@@ -692,7 +693,7 @@ spider_net_prepare_tx_descr(struct spider_net_card *card,
692 buf = pci_map_single(card->pdev, skb->data, skb->len, PCI_DMA_TODEVICE); 693 buf = pci_map_single(card->pdev, skb->data, skb->len, PCI_DMA_TODEVICE);
693 if (pci_dma_mapping_error(buf)) { 694 if (pci_dma_mapping_error(buf)) {
694 if (netif_msg_tx_err(card) && net_ratelimit()) 695 if (netif_msg_tx_err(card) && net_ratelimit())
695 pr_err("could not iommu-map packet (%p, %i). " 696 dev_err(&card->netdev->dev, "could not iommu-map packet (%p, %i). "
696 "Dropping packet\n", skb->data, skb->len); 697 "Dropping packet\n", skb->data, skb->len);
697 card->spider_stats.tx_iommu_map_error++; 698 card->spider_stats.tx_iommu_map_error++;
698 return -ENOMEM; 699 return -ENOMEM;
@@ -715,7 +716,7 @@ spider_net_prepare_tx_descr(struct spider_net_card *card,
715 hwdescr->data_status = 0; 716 hwdescr->data_status = 0;
716 717
717 hwdescr->dmac_cmd_status = 718 hwdescr->dmac_cmd_status =
718 SPIDER_NET_DESCR_CARDOWNED | SPIDER_NET_DMAC_NOCS; 719 SPIDER_NET_DESCR_CARDOWNED | SPIDER_NET_DMAC_TXFRMTL;
719 spin_unlock_irqrestore(&chain->lock, flags); 720 spin_unlock_irqrestore(&chain->lock, flags);
720 721
721 if (skb->ip_summed == CHECKSUM_PARTIAL) 722 if (skb->ip_summed == CHECKSUM_PARTIAL)
@@ -832,9 +833,8 @@ spider_net_release_tx_chain(struct spider_net_card *card, int brutal)
832 case SPIDER_NET_DESCR_PROTECTION_ERROR: 833 case SPIDER_NET_DESCR_PROTECTION_ERROR:
833 case SPIDER_NET_DESCR_FORCE_END: 834 case SPIDER_NET_DESCR_FORCE_END:
834 if (netif_msg_tx_err(card)) 835 if (netif_msg_tx_err(card))
835 pr_err("%s: forcing end of tx descriptor " 836 dev_err(&card->netdev->dev, "forcing end of tx descriptor "
836 "with status x%02x\n", 837 "with status x%02x\n", status);
837 card->netdev->name, status);
838 card->netdev_stats.tx_errors++; 838 card->netdev_stats.tx_errors++;
839 break; 839 break;
840 840
@@ -1022,34 +1022,94 @@ spider_net_pass_skb_up(struct spider_net_descr *descr,
1022 netif_receive_skb(skb); 1022 netif_receive_skb(skb);
1023} 1023}
1024 1024
1025#ifdef DEBUG
1026static void show_rx_chain(struct spider_net_card *card) 1025static void show_rx_chain(struct spider_net_card *card)
1027{ 1026{
1028 struct spider_net_descr_chain *chain = &card->rx_chain; 1027 struct spider_net_descr_chain *chain = &card->rx_chain;
1029 struct spider_net_descr *start= chain->tail; 1028 struct spider_net_descr *start= chain->tail;
1030 struct spider_net_descr *descr= start; 1029 struct spider_net_descr *descr= start;
1030 struct spider_net_hw_descr *hwd = start->hwdescr;
1031 struct device *dev = &card->netdev->dev;
1032 u32 curr_desc, next_desc;
1031 int status; 1033 int status;
1032 1034
1035 int tot = 0;
1033 int cnt = 0; 1036 int cnt = 0;
1034 int cstat = spider_net_get_descr_status(descr); 1037 int off = start - chain->ring;
1035 printk(KERN_INFO "RX chain tail at descr=%ld\n", 1038 int cstat = hwd->dmac_cmd_status;
1036 (start - card->descr) - card->tx_chain.num_desc); 1039
1040 dev_info(dev, "Total number of descrs=%d\n",
1041 chain->num_desc);
1042 dev_info(dev, "Chain tail located at descr=%d, status=0x%x\n",
1043 off, cstat);
1044
1045 curr_desc = spider_net_read_reg(card, SPIDER_NET_GDACTDPA);
1046 next_desc = spider_net_read_reg(card, SPIDER_NET_GDACNEXTDA);
1047
1037 status = cstat; 1048 status = cstat;
1038 do 1049 do
1039 { 1050 {
1040 status = spider_net_get_descr_status(descr); 1051 hwd = descr->hwdescr;
1052 off = descr - chain->ring;
1053 status = hwd->dmac_cmd_status;
1054
1055 if (descr == chain->head)
1056 dev_info(dev, "Chain head is at %d, head status=0x%x\n",
1057 off, status);
1058
1059 if (curr_desc == descr->bus_addr)
1060 dev_info(dev, "HW curr desc (GDACTDPA) is at %d, status=0x%x\n",
1061 off, status);
1062
1063 if (next_desc == descr->bus_addr)
1064 dev_info(dev, "HW next desc (GDACNEXTDA) is at %d, status=0x%x\n",
1065 off, status);
1066
1067 if (hwd->next_descr_addr == 0)
1068 dev_info(dev, "chain is cut at %d\n", off);
1069
1041 if (cstat != status) { 1070 if (cstat != status) {
1042 printk(KERN_INFO "Have %d descrs with stat=x%08x\n", cnt, cstat); 1071 int from = (chain->num_desc + off - cnt) % chain->num_desc;
1072 int to = (chain->num_desc + off - 1) % chain->num_desc;
1073 dev_info(dev, "Have %d (from %d to %d) descrs "
1074 "with stat=0x%08x\n", cnt, from, to, cstat);
1043 cstat = status; 1075 cstat = status;
1044 cnt = 0; 1076 cnt = 0;
1045 } 1077 }
1078
1046 cnt ++; 1079 cnt ++;
1080 tot ++;
1081 descr = descr->next;
1082 } while (descr != start);
1083
1084 dev_info(dev, "Last %d descrs with stat=0x%08x "
1085 "for a total of %d descrs\n", cnt, cstat, tot);
1086
1087#ifdef DEBUG
1088 /* Now dump the whole ring */
1089 descr = start;
1090 do
1091 {
1092 struct spider_net_hw_descr *hwd = descr->hwdescr;
1093 status = spider_net_get_descr_status(hwd);
1094 cnt = descr - chain->ring;
1095 dev_info(dev, "Descr %d stat=0x%08x skb=%p\n",
1096 cnt, status, descr->skb);
1097 dev_info(dev, "bus addr=%08x buf addr=%08x sz=%d\n",
1098 descr->bus_addr, hwd->buf_addr, hwd->buf_size);
1099 dev_info(dev, "next=%08x result sz=%d valid sz=%d\n",
1100 hwd->next_descr_addr, hwd->result_size,
1101 hwd->valid_size);
1102 dev_info(dev, "dmac=%08x data stat=%08x data err=%08x\n",
1103 hwd->dmac_cmd_status, hwd->data_status,
1104 hwd->data_error);
1105 dev_info(dev, "\n");
1106
1047 descr = descr->next; 1107 descr = descr->next;
1048 } while (descr != start); 1108 } while (descr != start);
1049 printk(KERN_INFO "Last %d descrs with stat=x%08x\n", cnt, cstat);
1050}
1051#endif 1109#endif
1052 1110
1111}
1112
1053/** 1113/**
1054 * spider_net_resync_head_ptr - Advance head ptr past empty descrs 1114 * spider_net_resync_head_ptr - Advance head ptr past empty descrs
1055 * 1115 *
@@ -1127,6 +1187,7 @@ spider_net_decode_one_descr(struct spider_net_card *card)
1127 struct spider_net_descr_chain *chain = &card->rx_chain; 1187 struct spider_net_descr_chain *chain = &card->rx_chain;
1128 struct spider_net_descr *descr = chain->tail; 1188 struct spider_net_descr *descr = chain->tail;
1129 struct spider_net_hw_descr *hwdescr = descr->hwdescr; 1189 struct spider_net_hw_descr *hwdescr = descr->hwdescr;
1190 u32 hw_buf_addr;
1130 int status; 1191 int status;
1131 1192
1132 status = spider_net_get_descr_status(hwdescr); 1193 status = spider_net_get_descr_status(hwdescr);
@@ -1140,15 +1201,17 @@ spider_net_decode_one_descr(struct spider_net_card *card)
1140 chain->tail = descr->next; 1201 chain->tail = descr->next;
1141 1202
1142 /* unmap descriptor */ 1203 /* unmap descriptor */
1143 pci_unmap_single(card->pdev, hwdescr->buf_addr, 1204 hw_buf_addr = hwdescr->buf_addr;
1205 hwdescr->buf_addr = 0xffffffff;
1206 pci_unmap_single(card->pdev, hw_buf_addr,
1144 SPIDER_NET_MAX_FRAME, PCI_DMA_FROMDEVICE); 1207 SPIDER_NET_MAX_FRAME, PCI_DMA_FROMDEVICE);
1145 1208
1146 if ( (status == SPIDER_NET_DESCR_RESPONSE_ERROR) || 1209 if ( (status == SPIDER_NET_DESCR_RESPONSE_ERROR) ||
1147 (status == SPIDER_NET_DESCR_PROTECTION_ERROR) || 1210 (status == SPIDER_NET_DESCR_PROTECTION_ERROR) ||
1148 (status == SPIDER_NET_DESCR_FORCE_END) ) { 1211 (status == SPIDER_NET_DESCR_FORCE_END) ) {
1149 if (netif_msg_rx_err(card)) 1212 if (netif_msg_rx_err(card))
1150 pr_err("%s: dropping RX descriptor with state %d\n", 1213 dev_err(&card->netdev->dev,
1151 card->netdev->name, status); 1214 "dropping RX descriptor with state %d\n", status);
1152 card->netdev_stats.rx_dropped++; 1215 card->netdev_stats.rx_dropped++;
1153 goto bad_desc; 1216 goto bad_desc;
1154 } 1217 }
@@ -1156,8 +1219,8 @@ spider_net_decode_one_descr(struct spider_net_card *card)
1156 if ( (status != SPIDER_NET_DESCR_COMPLETE) && 1219 if ( (status != SPIDER_NET_DESCR_COMPLETE) &&
1157 (status != SPIDER_NET_DESCR_FRAME_END) ) { 1220 (status != SPIDER_NET_DESCR_FRAME_END) ) {
1158 if (netif_msg_rx_err(card)) 1221 if (netif_msg_rx_err(card))
1159 pr_err("%s: RX descriptor with unknown state %d\n", 1222 dev_err(&card->netdev->dev,
1160 card->netdev->name, status); 1223 "RX descriptor with unknown state %d\n", status);
1161 card->spider_stats.rx_desc_unk_state++; 1224 card->spider_stats.rx_desc_unk_state++;
1162 goto bad_desc; 1225 goto bad_desc;
1163 } 1226 }
@@ -1165,18 +1228,17 @@ spider_net_decode_one_descr(struct spider_net_card *card)
1165 /* The cases we'll throw away the packet immediately */ 1228 /* The cases we'll throw away the packet immediately */
1166 if (hwdescr->data_error & SPIDER_NET_DESTROY_RX_FLAGS) { 1229 if (hwdescr->data_error & SPIDER_NET_DESTROY_RX_FLAGS) {
1167 if (netif_msg_rx_err(card)) 1230 if (netif_msg_rx_err(card))
1168 pr_err("%s: error in received descriptor found, " 1231 dev_err(&card->netdev->dev,
1232 "error in received descriptor found, "
1169 "data_status=x%08x, data_error=x%08x\n", 1233 "data_status=x%08x, data_error=x%08x\n",
1170 card->netdev->name,
1171 hwdescr->data_status, hwdescr->data_error); 1234 hwdescr->data_status, hwdescr->data_error);
1172 goto bad_desc; 1235 goto bad_desc;
1173 } 1236 }
1174 1237
1175 if (hwdescr->dmac_cmd_status & 0xfcf4) { 1238 if (hwdescr->dmac_cmd_status & SPIDER_NET_DESCR_BAD_STATUS) {
1176 pr_err("%s: bad status, cmd_status=x%08x\n", 1239 dev_err(&card->netdev->dev, "bad status, cmd_status=x%08x\n",
1177 card->netdev->name,
1178 hwdescr->dmac_cmd_status); 1240 hwdescr->dmac_cmd_status);
1179 pr_err("buf_addr=x%08x\n", hwdescr->buf_addr); 1241 pr_err("buf_addr=x%08x\n", hw_buf_addr);
1180 pr_err("buf_size=x%08x\n", hwdescr->buf_size); 1242 pr_err("buf_size=x%08x\n", hwdescr->buf_size);
1181 pr_err("next_descr_addr=x%08x\n", hwdescr->next_descr_addr); 1243 pr_err("next_descr_addr=x%08x\n", hwdescr->next_descr_addr);
1182 pr_err("result_size=x%08x\n", hwdescr->result_size); 1244 pr_err("result_size=x%08x\n", hwdescr->result_size);
@@ -1196,6 +1258,8 @@ spider_net_decode_one_descr(struct spider_net_card *card)
1196 return 1; 1258 return 1;
1197 1259
1198bad_desc: 1260bad_desc:
1261 if (netif_msg_rx_err(card))
1262 show_rx_chain(card);
1199 dev_kfree_skb_irq(descr->skb); 1263 dev_kfree_skb_irq(descr->skb);
1200 descr->skb = NULL; 1264 descr->skb = NULL;
1201 hwdescr->dmac_cmd_status = SPIDER_NET_DESCR_NOT_IN_USE; 1265 hwdescr->dmac_cmd_status = SPIDER_NET_DESCR_NOT_IN_USE;
@@ -1221,7 +1285,6 @@ spider_net_poll(struct net_device *netdev, int *budget)
1221 int packets_to_do, packets_done = 0; 1285 int packets_to_do, packets_done = 0;
1222 int no_more_packets = 0; 1286 int no_more_packets = 0;
1223 1287
1224 spider_net_cleanup_tx_ring(card);
1225 packets_to_do = min(*budget, netdev->quota); 1288 packets_to_do = min(*budget, netdev->quota);
1226 1289
1227 while (packets_to_do) { 1290 while (packets_to_do) {
@@ -1246,6 +1309,8 @@ spider_net_poll(struct net_device *netdev, int *budget)
1246 spider_net_refill_rx_chain(card); 1309 spider_net_refill_rx_chain(card);
1247 spider_net_enable_rxdmac(card); 1310 spider_net_enable_rxdmac(card);
1248 1311
1312 spider_net_cleanup_tx_ring(card);
1313
1249 /* if all packets are in the stack, enable interrupts and return 0 */ 1314 /* if all packets are in the stack, enable interrupts and return 0 */
1250 /* if not, return 1 */ 1315 /* if not, return 1 */
1251 if (no_more_packets) { 1316 if (no_more_packets) {
@@ -1415,7 +1480,7 @@ spider_net_handle_error_irq(struct spider_net_card *card, u32 status_reg)
1415 case SPIDER_NET_GPWFFINT: 1480 case SPIDER_NET_GPWFFINT:
1416 /* PHY command queue full */ 1481 /* PHY command queue full */
1417 if (netif_msg_intr(card)) 1482 if (netif_msg_intr(card))
1418 pr_err("PHY write queue full\n"); 1483 dev_err(&card->netdev->dev, "PHY write queue full\n");
1419 show_error = 0; 1484 show_error = 0;
1420 break; 1485 break;
1421 1486
@@ -1582,9 +1647,8 @@ spider_net_handle_error_irq(struct spider_net_card *card, u32 status_reg)
1582 } 1647 }
1583 1648
1584 if ((show_error) && (netif_msg_intr(card)) && net_ratelimit()) 1649 if ((show_error) && (netif_msg_intr(card)) && net_ratelimit())
1585 pr_err("Got error interrupt on %s, GHIINT0STS = 0x%08x, " 1650 dev_err(&card->netdev->dev, "Error interrupt, GHIINT0STS = 0x%08x, "
1586 "GHIINT1STS = 0x%08x, GHIINT2STS = 0x%08x\n", 1651 "GHIINT1STS = 0x%08x, GHIINT2STS = 0x%08x\n",
1587 card->netdev->name,
1588 status_reg, error_reg1, error_reg2); 1652 status_reg, error_reg1, error_reg2);
1589 1653
1590 /* clear interrupt sources */ 1654 /* clear interrupt sources */
@@ -1849,7 +1913,8 @@ spider_net_init_firmware(struct spider_net_card *card)
1849 SPIDER_NET_FIRMWARE_NAME, &card->pdev->dev) == 0) { 1913 SPIDER_NET_FIRMWARE_NAME, &card->pdev->dev) == 0) {
1850 if ( (firmware->size != SPIDER_NET_FIRMWARE_LEN) && 1914 if ( (firmware->size != SPIDER_NET_FIRMWARE_LEN) &&
1851 netif_msg_probe(card) ) { 1915 netif_msg_probe(card) ) {
1852 pr_err("Incorrect size of spidernet firmware in " \ 1916 dev_err(&card->netdev->dev,
1917 "Incorrect size of spidernet firmware in " \
1853 "filesystem. Looking in host firmware...\n"); 1918 "filesystem. Looking in host firmware...\n");
1854 goto try_host_fw; 1919 goto try_host_fw;
1855 } 1920 }
@@ -1873,8 +1938,8 @@ try_host_fw:
1873 1938
1874 if ( (fw_size != SPIDER_NET_FIRMWARE_LEN) && 1939 if ( (fw_size != SPIDER_NET_FIRMWARE_LEN) &&
1875 netif_msg_probe(card) ) { 1940 netif_msg_probe(card) ) {
1876 pr_err("Incorrect size of spidernet firmware in " \ 1941 dev_err(&card->netdev->dev,
1877 "host firmware\n"); 1942 "Incorrect size of spidernet firmware in host firmware\n");
1878 goto done; 1943 goto done;
1879 } 1944 }
1880 1945
@@ -1884,7 +1949,8 @@ done:
1884 return err; 1949 return err;
1885out_err: 1950out_err:
1886 if (netif_msg_probe(card)) 1951 if (netif_msg_probe(card))
1887 pr_err("Couldn't find spidernet firmware in filesystem " \ 1952 dev_err(&card->netdev->dev,
1953 "Couldn't find spidernet firmware in filesystem " \
1888 "or host firmware\n"); 1954 "or host firmware\n");
1889 return err; 1955 return err;
1890} 1956}
@@ -2279,13 +2345,14 @@ spider_net_setup_netdev(struct spider_net_card *card)
2279 2345
2280 result = spider_net_set_mac(netdev, &addr); 2346 result = spider_net_set_mac(netdev, &addr);
2281 if ((result) && (netif_msg_probe(card))) 2347 if ((result) && (netif_msg_probe(card)))
2282 pr_err("Failed to set MAC address: %i\n", result); 2348 dev_err(&card->netdev->dev,
2349 "Failed to set MAC address: %i\n", result);
2283 2350
2284 result = register_netdev(netdev); 2351 result = register_netdev(netdev);
2285 if (result) { 2352 if (result) {
2286 if (netif_msg_probe(card)) 2353 if (netif_msg_probe(card))
2287 pr_err("Couldn't register net_device: %i\n", 2354 dev_err(&card->netdev->dev,
2288 result); 2355 "Couldn't register net_device: %i\n", result);
2289 return result; 2356 return result;
2290 } 2357 }
2291 2358
@@ -2363,17 +2430,19 @@ spider_net_setup_pci_dev(struct pci_dev *pdev)
2363 unsigned long mmio_start, mmio_len; 2430 unsigned long mmio_start, mmio_len;
2364 2431
2365 if (pci_enable_device(pdev)) { 2432 if (pci_enable_device(pdev)) {
2366 pr_err("Couldn't enable PCI device\n"); 2433 dev_err(&pdev->dev, "Couldn't enable PCI device\n");
2367 return NULL; 2434 return NULL;
2368 } 2435 }
2369 2436
2370 if (!(pci_resource_flags(pdev, 0) & IORESOURCE_MEM)) { 2437 if (!(pci_resource_flags(pdev, 0) & IORESOURCE_MEM)) {
2371 pr_err("Couldn't find proper PCI device base address.\n"); 2438 dev_err(&pdev->dev,
2439 "Couldn't find proper PCI device base address.\n");
2372 goto out_disable_dev; 2440 goto out_disable_dev;
2373 } 2441 }
2374 2442
2375 if (pci_request_regions(pdev, spider_net_driver_name)) { 2443 if (pci_request_regions(pdev, spider_net_driver_name)) {
2376 pr_err("Couldn't obtain PCI resources, aborting.\n"); 2444 dev_err(&pdev->dev,
2445 "Couldn't obtain PCI resources, aborting.\n");
2377 goto out_disable_dev; 2446 goto out_disable_dev;
2378 } 2447 }
2379 2448
@@ -2381,8 +2450,8 @@ spider_net_setup_pci_dev(struct pci_dev *pdev)
2381 2450
2382 card = spider_net_alloc_card(); 2451 card = spider_net_alloc_card();
2383 if (!card) { 2452 if (!card) {
2384 pr_err("Couldn't allocate net_device structure, " 2453 dev_err(&pdev->dev,
2385 "aborting.\n"); 2454 "Couldn't allocate net_device structure, aborting.\n");
2386 goto out_release_regions; 2455 goto out_release_regions;
2387 } 2456 }
2388 card->pdev = pdev; 2457 card->pdev = pdev;
@@ -2396,7 +2465,8 @@ spider_net_setup_pci_dev(struct pci_dev *pdev)
2396 card->regs = ioremap(mmio_start, mmio_len); 2465 card->regs = ioremap(mmio_start, mmio_len);
2397 2466
2398 if (!card->regs) { 2467 if (!card->regs) {
2399 pr_err("Couldn't obtain PCI resources, aborting.\n"); 2468 dev_err(&pdev->dev,
2469 "Couldn't obtain PCI resources, aborting.\n");
2400 goto out_release_regions; 2470 goto out_release_regions;
2401 } 2471 }
2402 2472