mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: [PATCH] Use of uninitialized variable in drivers/net/depca.c [PATCH] Use after free in net/tulip/de2104x.c [PATCH] sis900 adm7001 PHY support [PATCH] sky2: more ethtool stats [PATCH] s390: qeth :allow setting of attribute "route6" to "no_router". [PATCH] s390: qeth driver cleanups [PATCH] s390: qeth driver statistics fixes [PATCH] AMD Au1xx0: fix Ethernet TX stats [PATCH] fix spidernet build issue
This commit is contained in:
commit
b7ad6d7502
10 changed files with 104 additions and 136 deletions
|
|
@ -1364,7 +1364,7 @@ qeth_wait_for_buffer(struct qeth_channel *channel)
|
|||
static void
|
||||
qeth_clear_cmd_buffers(struct qeth_channel *channel)
|
||||
{
|
||||
int cnt = 0;
|
||||
int cnt;
|
||||
|
||||
for (cnt=0; cnt < QETH_CMD_BUFFER_NO; cnt++)
|
||||
qeth_release_buffer(channel,&channel->iob[cnt]);
|
||||
|
|
@ -2814,11 +2814,11 @@ qeth_handle_send_error(struct qeth_card *card,
|
|||
QETH_DBF_TEXT_(trace,1,"%s",CARD_BUS_ID(card));
|
||||
return QETH_SEND_ERROR_LINK_FAILURE;
|
||||
case 3:
|
||||
default:
|
||||
QETH_DBF_TEXT(trace, 1, "SIGAcc3");
|
||||
QETH_DBF_TEXT_(trace,1,"%s",CARD_BUS_ID(card));
|
||||
return QETH_SEND_ERROR_KICK_IT;
|
||||
}
|
||||
return QETH_SEND_ERROR_LINK_FAILURE;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -3865,6 +3865,7 @@ qeth_get_cast_type(struct qeth_card *card, struct sk_buff *skb)
|
|||
if ((hdr_mac == QETH_TR_MAC_NC) ||
|
||||
(hdr_mac == QETH_TR_MAC_C))
|
||||
return RTN_MULTICAST;
|
||||
break;
|
||||
/* eth or so multicast? */
|
||||
default:
|
||||
if ((hdr_mac == QETH_ETH_MAC_V4) ||
|
||||
|
|
@ -4419,6 +4420,7 @@ qeth_send_packet(struct qeth_card *card, struct sk_buff *skb)
|
|||
int elements_needed = 0;
|
||||
enum qeth_large_send_types large_send = QETH_LARGE_SEND_NO;
|
||||
struct qeth_eddp_context *ctx = NULL;
|
||||
int tx_bytes = skb->len;
|
||||
int rc;
|
||||
|
||||
QETH_DBF_TEXT(trace, 6, "sendpkt");
|
||||
|
|
@ -4499,7 +4501,7 @@ qeth_send_packet(struct qeth_card *card, struct sk_buff *skb)
|
|||
elements_needed, ctx);
|
||||
if (!rc){
|
||||
card->stats.tx_packets++;
|
||||
card->stats.tx_bytes += skb->len;
|
||||
card->stats.tx_bytes += tx_bytes;
|
||||
#ifdef CONFIG_QETH_PERF_STATS
|
||||
if (skb_shinfo(skb)->tso_size &&
|
||||
!(large_send == QETH_LARGE_SEND_NO)) {
|
||||
|
|
@ -4585,38 +4587,11 @@ qeth_mdio_read(struct net_device *dev, int phy_id, int regnum)
|
|||
case MII_NCONFIG: /* network interface config */
|
||||
break;
|
||||
default:
|
||||
rc = 0;
|
||||
break;
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
||||
static void
|
||||
qeth_mdio_write(struct net_device *dev, int phy_id, int regnum, int value)
|
||||
{
|
||||
switch(regnum){
|
||||
case MII_BMCR: /* Basic mode control register */
|
||||
case MII_BMSR: /* Basic mode status register */
|
||||
case MII_PHYSID1: /* PHYS ID 1 */
|
||||
case MII_PHYSID2: /* PHYS ID 2 */
|
||||
case MII_ADVERTISE: /* Advertisement control reg */
|
||||
case MII_LPA: /* Link partner ability reg */
|
||||
case MII_EXPANSION: /* Expansion register */
|
||||
case MII_DCOUNTER: /* disconnect counter */
|
||||
case MII_FCSCOUNTER: /* false carrier counter */
|
||||
case MII_NWAYTEST: /* N-way auto-neg test register */
|
||||
case MII_RERRCOUNTER: /* rx error counter */
|
||||
case MII_SREVISION: /* silicon revision */
|
||||
case MII_RESV1: /* reserved 1 */
|
||||
case MII_LBRERROR: /* loopback, rx, bypass error */
|
||||
case MII_PHYADDR: /* physical address */
|
||||
case MII_RESV2: /* reserved 2 */
|
||||
case MII_TPISTATUS: /* TPI status for 10mbps */
|
||||
case MII_NCONFIG: /* network interface config */
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static inline const char *
|
||||
qeth_arp_get_error_cause(int *rc)
|
||||
|
|
@ -5236,21 +5211,6 @@ qeth_do_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
|
|||
mii_data->val_out = qeth_mdio_read(dev,mii_data->phy_id,
|
||||
mii_data->reg_num);
|
||||
break;
|
||||
case SIOCSMIIREG:
|
||||
rc = -EOPNOTSUPP;
|
||||
break;
|
||||
/* TODO: remove return if qeth_mdio_write does something */
|
||||
if (!capable(CAP_NET_ADMIN)){
|
||||
rc = -EPERM;
|
||||
break;
|
||||
}
|
||||
mii_data = if_mii(rq);
|
||||
if (mii_data->phy_id != 0)
|
||||
rc = -EINVAL;
|
||||
else
|
||||
qeth_mdio_write(dev, mii_data->phy_id, mii_data->reg_num,
|
||||
mii_data->val_in);
|
||||
break;
|
||||
default:
|
||||
rc = -EOPNOTSUPP;
|
||||
}
|
||||
|
|
@ -6900,7 +6860,7 @@ qeth_send_setassparms(struct qeth_card *card, struct qeth_cmd_buffer *iob,
|
|||
cmd = (struct qeth_ipa_cmd *)(iob->data+IPA_PDU_HEADER_SIZE);
|
||||
if (len <= sizeof(__u32))
|
||||
cmd->data.setassparms.data.flags_32bit = (__u32) data;
|
||||
else if (len > sizeof(__u32))
|
||||
else /* (len > sizeof(__u32)) */
|
||||
memcpy(&cmd->data.setassparms.data, (void *) data, len);
|
||||
|
||||
rc = qeth_send_ipa_cmd(card, iob, reply_cb, reply_param);
|
||||
|
|
@ -7379,11 +7339,6 @@ qeth_setrouting_v6(struct qeth_card *card)
|
|||
qeth_correct_routing_type(card, &card->options.route6.type,
|
||||
QETH_PROT_IPV6);
|
||||
|
||||
if ((card->options.route6.type == NO_ROUTER) ||
|
||||
((card->info.type == QETH_CARD_TYPE_OSAE) &&
|
||||
(card->options.route6.type == MULTICAST_ROUTER) &&
|
||||
!qeth_is_supported6(card,IPA_OSA_MC_ROUTER)))
|
||||
return 0;
|
||||
rc = qeth_send_setrouting(card, card->options.route6.type,
|
||||
QETH_PROT_IPV6);
|
||||
if (rc) {
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ qeth_procfile_seq_next(struct seq_file *s, void *it, loff_t *offset)
|
|||
static inline const char *
|
||||
qeth_get_router_str(struct qeth_card *card, int ipv)
|
||||
{
|
||||
int routing_type = 0;
|
||||
enum qeth_routing_types routing_type = NO_ROUTER;
|
||||
|
||||
if (ipv == 4) {
|
||||
routing_type = card->options.route4.type;
|
||||
|
|
@ -86,26 +86,26 @@ qeth_get_router_str(struct qeth_card *card, int ipv)
|
|||
#endif /* CONFIG_QETH_IPV6 */
|
||||
}
|
||||
|
||||
if (routing_type == PRIMARY_ROUTER)
|
||||
switch (routing_type){
|
||||
case PRIMARY_ROUTER:
|
||||
return "pri";
|
||||
else if (routing_type == SECONDARY_ROUTER)
|
||||
case SECONDARY_ROUTER:
|
||||
return "sec";
|
||||
else if (routing_type == MULTICAST_ROUTER) {
|
||||
case MULTICAST_ROUTER:
|
||||
if (card->info.broadcast_capable == QETH_BROADCAST_WITHOUT_ECHO)
|
||||
return "mc+";
|
||||
return "mc";
|
||||
} else if (routing_type == PRIMARY_CONNECTOR) {
|
||||
case PRIMARY_CONNECTOR:
|
||||
if (card->info.broadcast_capable == QETH_BROADCAST_WITHOUT_ECHO)
|
||||
return "p+c";
|
||||
return "p.c";
|
||||
} else if (routing_type == SECONDARY_CONNECTOR) {
|
||||
case SECONDARY_CONNECTOR:
|
||||
if (card->info.broadcast_capable == QETH_BROADCAST_WITHOUT_ECHO)
|
||||
return "s+c";
|
||||
return "s.c";
|
||||
} else if (routing_type == NO_ROUTER)
|
||||
default: /* NO_ROUTER */
|
||||
return "no";
|
||||
else
|
||||
return "unk";
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
|
|
@ -192,27 +192,27 @@ qeth_perf_procfile_seq_show(struct seq_file *s, void *it)
|
|||
CARD_DDEV_ID(card),
|
||||
QETH_CARD_IFNAME(card)
|
||||
);
|
||||
seq_printf(s, " Skb's/buffers received : %li/%i\n"
|
||||
" Skb's/buffers sent : %li/%i\n\n",
|
||||
seq_printf(s, " Skb's/buffers received : %lu/%u\n"
|
||||
" Skb's/buffers sent : %lu/%u\n\n",
|
||||
card->stats.rx_packets, card->perf_stats.bufs_rec,
|
||||
card->stats.tx_packets, card->perf_stats.bufs_sent
|
||||
);
|
||||
seq_printf(s, " Skb's/buffers sent without packing : %li/%i\n"
|
||||
" Skb's/buffers sent with packing : %i/%i\n\n",
|
||||
seq_printf(s, " Skb's/buffers sent without packing : %lu/%u\n"
|
||||
" Skb's/buffers sent with packing : %u/%u\n\n",
|
||||
card->stats.tx_packets - card->perf_stats.skbs_sent_pack,
|
||||
card->perf_stats.bufs_sent - card->perf_stats.bufs_sent_pack,
|
||||
card->perf_stats.skbs_sent_pack,
|
||||
card->perf_stats.bufs_sent_pack
|
||||
);
|
||||
seq_printf(s, " Skbs sent in SG mode : %i\n"
|
||||
" Skb fragments sent in SG mode : %i\n\n",
|
||||
seq_printf(s, " Skbs sent in SG mode : %u\n"
|
||||
" Skb fragments sent in SG mode : %u\n\n",
|
||||
card->perf_stats.sg_skbs_sent,
|
||||
card->perf_stats.sg_frags_sent);
|
||||
seq_printf(s, " large_send tx (in Kbytes) : %i\n"
|
||||
" large_send count : %i\n\n",
|
||||
seq_printf(s, " large_send tx (in Kbytes) : %u\n"
|
||||
" large_send count : %u\n\n",
|
||||
card->perf_stats.large_send_bytes >> 10,
|
||||
card->perf_stats.large_send_cnt);
|
||||
seq_printf(s, " Packing state changes no pkg.->packing : %i/%i\n"
|
||||
seq_printf(s, " Packing state changes no pkg.->packing : %u/%u\n"
|
||||
" Watermarks L/H : %i/%i\n"
|
||||
" Current buffer usage (outbound q's) : "
|
||||
"%i/%i/%i/%i\n\n",
|
||||
|
|
@ -229,16 +229,16 @@ qeth_perf_procfile_seq_show(struct seq_file *s, void *it)
|
|||
atomic_read(&card->qdio.out_qs[3]->used_buffers)
|
||||
: 0
|
||||
);
|
||||
seq_printf(s, " Inbound handler time (in us) : %i\n"
|
||||
" Inbound handler count : %i\n"
|
||||
" Inbound do_QDIO time (in us) : %i\n"
|
||||
" Inbound do_QDIO count : %i\n\n"
|
||||
" Outbound handler time (in us) : %i\n"
|
||||
" Outbound handler count : %i\n\n"
|
||||
" Outbound time (in us, incl QDIO) : %i\n"
|
||||
" Outbound count : %i\n"
|
||||
" Outbound do_QDIO time (in us) : %i\n"
|
||||
" Outbound do_QDIO count : %i\n\n",
|
||||
seq_printf(s, " Inbound handler time (in us) : %u\n"
|
||||
" Inbound handler count : %u\n"
|
||||
" Inbound do_QDIO time (in us) : %u\n"
|
||||
" Inbound do_QDIO count : %u\n\n"
|
||||
" Outbound handler time (in us) : %u\n"
|
||||
" Outbound handler count : %u\n\n"
|
||||
" Outbound time (in us, incl QDIO) : %u\n"
|
||||
" Outbound count : %u\n"
|
||||
" Outbound do_QDIO time (in us) : %u\n"
|
||||
" Outbound do_QDIO count : %u\n\n",
|
||||
card->perf_stats.inbound_time,
|
||||
card->perf_stats.inbound_cnt,
|
||||
card->perf_stats.inbound_do_qdio_time,
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ qeth_dev_portno_store(struct device *dev, struct device_attribute *attr, const c
|
|||
return -EPERM;
|
||||
|
||||
portno = simple_strtoul(buf, &tmp, 16);
|
||||
if ((portno < 0) || (portno > MAX_PORTNO)){
|
||||
if (portno > MAX_PORTNO){
|
||||
PRINT_WARN("portno 0x%X is out of range\n", portno);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue