Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (31 commits) net: fix kernel-doc for sk_filter_rcu_release be2net: Fix to avoid firmware update when interface is not open. netfilter: fix IP_VS dependencies net: irda: irttp: sync error paths of data- and udata-requests ipv6: Expose reachable and retrans timer values as msecs ipv6: Expose IFLA_PROTINFO timer values in msecs instead of jiffies 3c59x: fix build failure on !CONFIG_PCI ipg.c: remove id [SUNDANCE, 0x1021] net: caif: spi: fix potential NULL dereference ath9k_htc: Avoid setting QoS control for non-QoS frames net: zero kobject in rx_queue_release net: Fix duplicate volatile warning. MAINTAINERS: Add stmmac maintainer bonding: fix a race in IGMP handling cfg80211: fix can_beacon_sec_chan, reenable HT40 gianfar: fix signedness issue net: bnx2x: fix error value sign 8139cp: fix checksum broken r8169: fix checksum broken rds: Integer overflow in RDS cmsg handling ...
This commit is contained in:
@@ -550,22 +550,30 @@ EXPORT_SYMBOL(irttp_close_tsap);
|
||||
*/
|
||||
int irttp_udata_request(struct tsap_cb *self, struct sk_buff *skb)
|
||||
{
|
||||
int ret;
|
||||
|
||||
IRDA_ASSERT(self != NULL, return -1;);
|
||||
IRDA_ASSERT(self->magic == TTP_TSAP_MAGIC, return -1;);
|
||||
IRDA_ASSERT(skb != NULL, return -1;);
|
||||
|
||||
IRDA_DEBUG(4, "%s()\n", __func__);
|
||||
|
||||
/* Take shortcut on zero byte packets */
|
||||
if (skb->len == 0) {
|
||||
ret = 0;
|
||||
goto err;
|
||||
}
|
||||
|
||||
/* Check that nothing bad happens */
|
||||
if ((skb->len == 0) || (!self->connected)) {
|
||||
IRDA_DEBUG(1, "%s(), No data, or not connected\n",
|
||||
__func__);
|
||||
if (!self->connected) {
|
||||
IRDA_WARNING("%s(), Not connected\n", __func__);
|
||||
ret = -ENOTCONN;
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (skb->len > self->max_seg_size) {
|
||||
IRDA_DEBUG(1, "%s(), UData is too large for IrLAP!\n",
|
||||
__func__);
|
||||
IRDA_ERROR("%s(), UData is too large for IrLAP!\n", __func__);
|
||||
ret = -EMSGSIZE;
|
||||
goto err;
|
||||
}
|
||||
|
||||
@@ -576,7 +584,7 @@ int irttp_udata_request(struct tsap_cb *self, struct sk_buff *skb)
|
||||
|
||||
err:
|
||||
dev_kfree_skb(skb);
|
||||
return -1;
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL(irttp_udata_request);
|
||||
|
||||
@@ -599,9 +607,15 @@ int irttp_data_request(struct tsap_cb *self, struct sk_buff *skb)
|
||||
IRDA_DEBUG(2, "%s() : queue len = %d\n", __func__,
|
||||
skb_queue_len(&self->tx_queue));
|
||||
|
||||
/* Take shortcut on zero byte packets */
|
||||
if (skb->len == 0) {
|
||||
ret = 0;
|
||||
goto err;
|
||||
}
|
||||
|
||||
/* Check that nothing bad happens */
|
||||
if ((skb->len == 0) || (!self->connected)) {
|
||||
IRDA_WARNING("%s: No data, or not connected\n", __func__);
|
||||
if (!self->connected) {
|
||||
IRDA_WARNING("%s: Not connected\n", __func__);
|
||||
ret = -ENOTCONN;
|
||||
goto err;
|
||||
}
|
||||
|
Reference in New Issue
Block a user