summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xztd-eth.c3
-rwxr-xr-xztdynamic.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/ztd-eth.c b/ztd-eth.c
index a9959b5..b99b54b 100755
--- a/ztd-eth.c
+++ b/ztd-eth.c
@@ -155,7 +155,8 @@ static int ztdeth_transmit(void *pvt, unsigned char *msg, int msglen)
skb->protocol = __constant_htons(ETH_P_ZTDETH);
skb->nh.raw = skb->data;
skb->dev = z->dev;
- z->dev->hard_header(skb, z->dev, ETH_P_ZTDETH, z->addr, z->dev->dev_addr, skb->len);
+ if (z->dev->hard_header)
+ z->dev->hard_header(skb, z->dev, ETH_P_ZTDETH, z->addr, z->dev->dev_addr, skb->len);
dev_queue_xmit(skb);
}
}
diff --git a/ztdynamic.c b/ztdynamic.c
index aa81fea..9b7a4ca 100755
--- a/ztdynamic.c
+++ b/ztdynamic.c
@@ -385,10 +385,11 @@ static struct zt_dynamic_driver *find_driver(char *name)
{
struct zt_dynamic_driver *ztd;
ztd = drivers;
- while(drivers) {
+ while(ztd) {
/* here's our driver */
if (!strcmp(name, ztd->name))
break;
+ ztd = ztd->next;
}
return ztd;
}