#define TRACE() printk(KERN_ERR "%s:%s[%d] ---- TRACE\n", driver_name, __FUNCTION__, __LINE__)
static char version[] __devinitdata =
- "$Rev: 1224 $ Ben Collins <bcollins@debian.org>";
+ "$Rev: 1247 $ Ben Collins <bcollins@debian.org>";
struct fragment_info {
struct list_head list;
/* The max_partial_datagrams parameter is the maximum number of fragmented
* datagrams per node that eth1394 will keep in memory. Providing an upper
* bound allows us to limit the amount of memory that partial datagrams
- * consume in the event that some partial datagrams are never completed. This
- * should probably change to a sysctl item or the like if possible.
+ * consume in the event that some partial datagrams are never completed.
*/
static int max_partial_datagrams = 25;
module_param(max_partial_datagrams, int, S_IRUGO | S_IWUSR);
unsigned char * haddr);
static int ether1394_mac_addr(struct net_device *dev, void *p);
-static inline void purge_partial_datagram(struct list_head *old);
+static void purge_partial_datagram(struct list_head *old);
static int ether1394_tx(struct sk_buff *skb, struct net_device *dev);
static void ether1394_iso(struct hpsb_iso *iso);
return 0;
}
-static inline void purge_partial_datagram(struct list_head *old)
+static void purge_partial_datagram(struct list_head *old)
{
struct partial_datagram *pd = list_entry(old, struct partial_datagram, list);
struct list_head *lh, *n;
if (!node_info) {
kfree(node);
return -ENOMEM;
- }
+ }
spin_lock_init(&node_info->pdg.lock);
INIT_LIST_HEAD(&node_info->pdg.list);
goto out;
}
- ETH1394_PRINT (KERN_ERR, dev->name, "IEEE-1394 IPv4 over 1394 Ethernet (fw-host%d)\n",
+ ETH1394_PRINT (KERN_INFO, dev->name, "IEEE-1394 IPv4 over 1394 Ethernet (fw-host%d)\n",
host->id);
hi->host = host;
lh = find_partial_datagram(pdgl, dgl);
if (lh == NULL) {
- if (pdg->sz == max_partial_datagrams) {
+ while (pdg->sz >= max_partial_datagrams) {
/* remove the oldest */
purge_partial_datagram(pdgl->prev);
pdg->sz--;
struct sk_buff *skb = ptask->skb;
struct net_device *dev = skb->dev;
struct eth1394_priv *priv = netdev_priv(dev);
- unsigned long flags;
+ unsigned long flags;
/* Statistics */
spin_lock_irqsave(&priv->lock, flags);
static void ether1394_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info)
{
strcpy (info->driver, driver_name);
- strcpy (info->version, "$Rev: 1224 $");
+ strcpy (info->version, "$Rev: 1247 $");
/* FIXME XXX provide sane businfo */
strcpy (info->bus_info, "ieee1394");
}