#if LINUX_VERSION_CODE >= VERSION(2,1,4)
#if LINUX_VERSION_CODE >= VERSION(2,1,5)
#if LINUX_VERSION_CODE >= VERSION(2,1,4)
#if LINUX_VERSION_CODE >= VERSION(2,1,5)
static void ppp_output_wakeup(struct ppp *ppp);
static void ppp_send_ctrl(struct ppp *ppp, struct sk_buff *skb);
static void ppp_send_frame(struct ppp *ppp, struct sk_buff *skb);
static void ppp_output_wakeup(struct ppp *ppp);
static void ppp_send_ctrl(struct ppp *ppp, struct sk_buff *skb);
static void ppp_send_frame(struct ppp *ppp, struct sk_buff *skb);
static struct sk_buff *ppp_vj_compress(struct ppp *ppp, struct sk_buff *skb);
static struct ppp *ppp_find (int pid_value);
static struct sk_buff *ppp_vj_compress(struct ppp *ppp, struct sk_buff *skb);
static struct ppp *ppp_find (int pid_value);
if (ppp->flags & SC_DEBUG)
printk(KERN_INFO
"ppp_ioctl: set mru to %x\n", temp_i);
if (ppp->flags & SC_DEBUG)
printk(KERN_INFO
"ppp_ioctl: set mru to %x\n", temp_i);
nb = CCP_MAX_OPTION_LENGTH;
if (COPY_FROM_USER(ccp_option, ptr, nb))
nb = CCP_MAX_OPTION_LENGTH;
if (COPY_FROM_USER(ccp_option, ptr, nb))
"%s: no compressor for [%x %x %x], %x\n",
ppp->name, ccp_option[0], ccp_option[1],
ccp_option[2], nb);
"%s: no compressor for [%x %x %x], %x\n",
ppp->name, ccp_option[0], ccp_option[1],
ccp_option[2], nb);
if (ppp->sc_xc_state == NULL) {
if (ppp->flags & SC_DEBUG)
printk(KERN_DEBUG "%s: comp_alloc failed\n",
if (ppp->sc_xc_state == NULL) {
if (ppp->flags & SC_DEBUG)
printk(KERN_DEBUG "%s: comp_alloc failed\n",
ppp->last_recv = jiffies;
#if LINUX_VERSION_CODE < VERSION(2,1,15)
skb->free = 1;
ppp->last_recv = jiffies;
#if LINUX_VERSION_CODE < VERSION(2,1,15)
skb->free = 1;
- * Should be called with dev->tbusy == 1, having been set by the caller.
- * That is, we use dev->tbusy as a lock to prevent reentry of this
+ * Should be called with xmit_busy == 1, having been set by the caller.
+ * That is, we use xmit_busy as a lock to prevent reentry of this
ret = ppp_async_send(ppp, skb);
if (ret > 0) {
/* we can release the lock */
ret = ppp_async_send(ppp, skb);
if (ret > 0) {
/* we can release the lock */
* The dev->tbusy field acts as a lock to allow only
* one packet to be processed at a time. If we can't
* get the lock, try again later.
* The dev->tbusy field acts as a lock to allow only
* one packet to be processed at a time. If we can't
* get the lock, try again later.