firewire: net: use dev_printk API
Change the log line prefix from "firewire_net: " to "net firewire0: " etc. for the case that several RFC 2734 interfaces are being used in the same machine. Note, the netdev_printk API is not very useful to firewire-net. netdev_notice(net, "abc\n") would result in irritating messages like "firewire_ohci 0000:0a:00.0: firewire0: abc". Nor would a dev_printk on the fw_unit.device to which firewire-net is being bound be useful, because there are generally multiple ones of those per interface (from all RFC 2734 peers on the bus, the local node being only one of them). In the initialization message of each interface, log the PCI device name of the card which is parent of the netdevice instead of the GUID of the peer which was semi-randomly used to establish the netdevice. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
This commit is contained in:
Родитель
59759ff6f1
Коммит
8408dc1c14
|
@ -256,8 +256,8 @@ static int fwnet_header_rebuild(struct sk_buff *skb)
|
||||||
if (get_unaligned_be16(&h->h_proto) == ETH_P_IP)
|
if (get_unaligned_be16(&h->h_proto) == ETH_P_IP)
|
||||||
return arp_find((unsigned char *)&h->h_dest, skb);
|
return arp_find((unsigned char *)&h->h_dest, skb);
|
||||||
|
|
||||||
fw_notify("%s: unable to resolve type %04x addresses\n",
|
dev_notice(&skb->dev->dev, "unable to resolve type %04x addresses\n",
|
||||||
skb->dev->name, be16_to_cpu(h->h_proto));
|
be16_to_cpu(h->h_proto));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -369,7 +369,7 @@ static struct fwnet_fragment_info *fwnet_frag_new(
|
||||||
|
|
||||||
new = kmalloc(sizeof(*new), GFP_ATOMIC);
|
new = kmalloc(sizeof(*new), GFP_ATOMIC);
|
||||||
if (!new) {
|
if (!new) {
|
||||||
fw_error("out of memory\n");
|
dev_err(&pd->skb->dev->dev, "out of memory\n");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -414,7 +414,7 @@ fail_w_fi:
|
||||||
fail_w_new:
|
fail_w_new:
|
||||||
kfree(new);
|
kfree(new);
|
||||||
fail:
|
fail:
|
||||||
fw_error("out of memory\n");
|
dev_err(&net->dev, "out of memory\n");
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -554,7 +554,7 @@ static int fwnet_finish_incoming_packet(struct net_device *net,
|
||||||
sspd = arp1394->sspd;
|
sspd = arp1394->sspd;
|
||||||
/* Sanity check. OS X 10.3 PPC reportedly sends 131. */
|
/* Sanity check. OS X 10.3 PPC reportedly sends 131. */
|
||||||
if (sspd > SCODE_3200) {
|
if (sspd > SCODE_3200) {
|
||||||
fw_notify("sspd %x out of range\n", sspd);
|
dev_notice(&net->dev, "sspd %x out of range\n", sspd);
|
||||||
sspd = SCODE_3200;
|
sspd = SCODE_3200;
|
||||||
}
|
}
|
||||||
max_payload = fwnet_max_payload(arp1394->max_rec, sspd);
|
max_payload = fwnet_max_payload(arp1394->max_rec, sspd);
|
||||||
|
@ -574,8 +574,9 @@ static int fwnet_finish_incoming_packet(struct net_device *net,
|
||||||
spin_unlock_irqrestore(&dev->lock, flags);
|
spin_unlock_irqrestore(&dev->lock, flags);
|
||||||
|
|
||||||
if (!peer) {
|
if (!peer) {
|
||||||
fw_notify("No peer for ARP packet from %016llx\n",
|
dev_notice(&net->dev,
|
||||||
(unsigned long long)peer_guid);
|
"no peer for ARP packet from %016llx\n",
|
||||||
|
(unsigned long long)peer_guid);
|
||||||
goto no_peer;
|
goto no_peer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -691,7 +692,7 @@ static int fwnet_incoming_packet(struct fwnet_device *dev, __be32 *buf, int len,
|
||||||
|
|
||||||
skb = dev_alloc_skb(len + net->hard_header_len + 15);
|
skb = dev_alloc_skb(len + net->hard_header_len + 15);
|
||||||
if (unlikely(!skb)) {
|
if (unlikely(!skb)) {
|
||||||
fw_error("out of memory\n");
|
dev_err(&net->dev, "out of memory\n");
|
||||||
net->stats.rx_dropped++;
|
net->stats.rx_dropped++;
|
||||||
|
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
@ -814,7 +815,7 @@ static void fwnet_receive_packet(struct fw_card *card, struct fw_request *r,
|
||||||
rcode = RCODE_TYPE_ERROR;
|
rcode = RCODE_TYPE_ERROR;
|
||||||
else if (fwnet_incoming_packet(dev, payload, length,
|
else if (fwnet_incoming_packet(dev, payload, length,
|
||||||
source, generation, false) != 0) {
|
source, generation, false) != 0) {
|
||||||
fw_error("Incoming packet failure\n");
|
dev_err(&dev->netdev->dev, "incoming packet failure\n");
|
||||||
rcode = RCODE_CONFLICT_ERROR;
|
rcode = RCODE_CONFLICT_ERROR;
|
||||||
} else
|
} else
|
||||||
rcode = RCODE_COMPLETE;
|
rcode = RCODE_COMPLETE;
|
||||||
|
@ -881,7 +882,7 @@ static void fwnet_receive_broadcast(struct fw_iso_context *context,
|
||||||
if (retval >= 0)
|
if (retval >= 0)
|
||||||
fw_iso_context_queue_flush(dev->broadcast_rcv_context);
|
fw_iso_context_queue_flush(dev->broadcast_rcv_context);
|
||||||
else
|
else
|
||||||
fw_error("requeue failed\n");
|
dev_err(&dev->netdev->dev, "requeue failed\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct kmem_cache *fwnet_packet_task_cache;
|
static struct kmem_cache *fwnet_packet_task_cache;
|
||||||
|
@ -936,9 +937,10 @@ static void fwnet_transmit_packet_done(struct fwnet_packet_task *ptask)
|
||||||
case RFC2374_HDR_LASTFRAG:
|
case RFC2374_HDR_LASTFRAG:
|
||||||
case RFC2374_HDR_UNFRAG:
|
case RFC2374_HDR_UNFRAG:
|
||||||
default:
|
default:
|
||||||
fw_error("Outstanding packet %x lf %x, header %x,%x\n",
|
dev_err(&dev->netdev->dev,
|
||||||
ptask->outstanding_pkts, lf, ptask->hdr.w0,
|
"outstanding packet %x lf %x, header %x,%x\n",
|
||||||
ptask->hdr.w1);
|
ptask->outstanding_pkts, lf, ptask->hdr.w0,
|
||||||
|
ptask->hdr.w1);
|
||||||
BUG();
|
BUG();
|
||||||
|
|
||||||
case RFC2374_HDR_FIRSTFRAG:
|
case RFC2374_HDR_FIRSTFRAG:
|
||||||
|
@ -1010,8 +1012,9 @@ static void fwnet_write_complete(struct fw_card *card, int rcode,
|
||||||
fwnet_transmit_packet_failed(ptask);
|
fwnet_transmit_packet_failed(ptask);
|
||||||
|
|
||||||
if (printk_timed_ratelimit(&j, 1000) || rcode != last_rcode) {
|
if (printk_timed_ratelimit(&j, 1000) || rcode != last_rcode) {
|
||||||
fw_error("fwnet_write_complete: "
|
dev_err(&ptask->dev->netdev->dev,
|
||||||
"failed: %x (skipped %d)\n", rcode, errors_skipped);
|
"fwnet_write_complete failed: %x (skipped %d)\n",
|
||||||
|
rcode, errors_skipped);
|
||||||
|
|
||||||
errors_skipped = 0;
|
errors_skipped = 0;
|
||||||
last_rcode = rcode;
|
last_rcode = rcode;
|
||||||
|
@ -1539,14 +1542,12 @@ static int fwnet_probe(struct device *_dev)
|
||||||
put_unaligned_be64(card->guid, net->dev_addr);
|
put_unaligned_be64(card->guid, net->dev_addr);
|
||||||
put_unaligned_be64(~0ULL, net->broadcast);
|
put_unaligned_be64(~0ULL, net->broadcast);
|
||||||
ret = register_netdev(net);
|
ret = register_netdev(net);
|
||||||
if (ret) {
|
if (ret)
|
||||||
fw_error("Cannot register the driver\n");
|
|
||||||
goto out;
|
goto out;
|
||||||
}
|
|
||||||
|
|
||||||
list_add_tail(&dev->dev_link, &fwnet_device_list);
|
list_add_tail(&dev->dev_link, &fwnet_device_list);
|
||||||
fw_notify("%s: IPv4 over FireWire on device %016llx\n",
|
dev_notice(&net->dev, "IPv4 over IEEE 1394 on card %s\n",
|
||||||
net->name, (unsigned long long)card->guid);
|
dev_name(card->device));
|
||||||
have_dev:
|
have_dev:
|
||||||
ret = fwnet_add_peer(dev, unit, device);
|
ret = fwnet_add_peer(dev, unit, device);
|
||||||
if (ret && allocated_netdev) {
|
if (ret && allocated_netdev) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче