mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-29 17:23:36 +00:00
Merge branch 's390-next'
Karsten Graul says: ==================== s390/net: updates 2021-09-14 Please apply the following patches to netdev's net-next tree. Stop using the wrappers in include/linux/pci-dma-compat.h, and fix warnings about incorrect kernel-doc comments. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
f787e3cfea
@ -182,7 +182,7 @@ static void ctcmpc_chx_attnbusy(fsm_instance *, int, void *);
|
||||
static void ctcmpc_chx_resend(fsm_instance *, int, void *);
|
||||
static void ctcmpc_chx_send_sweep(fsm_instance *fsm, int event, void *arg);
|
||||
|
||||
/**
|
||||
/*
|
||||
* Check return code of a preceding ccw_device call, halt_IO etc...
|
||||
*
|
||||
* ch : The channel, the error belongs to.
|
||||
@ -223,7 +223,7 @@ void ctcm_purge_skb_queue(struct sk_buff_head *q)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* NOP action for statemachines
|
||||
*/
|
||||
static void ctcm_action_nop(fsm_instance *fi, int event, void *arg)
|
||||
@ -234,7 +234,7 @@ static void ctcm_action_nop(fsm_instance *fi, int event, void *arg)
|
||||
* Actions for channel - statemachines.
|
||||
*/
|
||||
|
||||
/**
|
||||
/*
|
||||
* Normal data has been send. Free the corresponding
|
||||
* skb (it's in io_queue), reset dev->tbusy and
|
||||
* revert to idle state.
|
||||
@ -322,7 +322,7 @@ static void chx_txdone(fsm_instance *fi, int event, void *arg)
|
||||
ctcm_clear_busy_do(dev);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Initial data is sent.
|
||||
* Notify device statemachine that we are up and
|
||||
* running.
|
||||
@ -344,7 +344,7 @@ void ctcm_chx_txidle(fsm_instance *fi, int event, void *arg)
|
||||
fsm_event(priv->fsm, DEV_EVENT_TXUP, ch->netdev);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Got normal data, check for sanity, queue it up, allocate new buffer
|
||||
* trigger bottom half, and initiate next read.
|
||||
*
|
||||
@ -421,7 +421,7 @@ static void chx_rx(fsm_instance *fi, int event, void *arg)
|
||||
ctcm_ccw_check_rc(ch, rc, "normal RX");
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Initialize connection by sending a __u16 of value 0.
|
||||
*
|
||||
* fi An instance of a channel statemachine.
|
||||
@ -497,7 +497,7 @@ static void chx_firstio(fsm_instance *fi, int event, void *arg)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Got initial data, check it. If OK,
|
||||
* notify device statemachine that we are up and
|
||||
* running.
|
||||
@ -538,7 +538,7 @@ static void chx_rxidle(fsm_instance *fi, int event, void *arg)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Set channel into extended mode.
|
||||
*
|
||||
* fi An instance of a channel statemachine.
|
||||
@ -578,7 +578,7 @@ static void ctcm_chx_setmode(fsm_instance *fi, int event, void *arg)
|
||||
ch->retry = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Setup channel.
|
||||
*
|
||||
* fi An instance of a channel statemachine.
|
||||
@ -641,7 +641,7 @@ static void ctcm_chx_start(fsm_instance *fi, int event, void *arg)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Shutdown a channel.
|
||||
*
|
||||
* fi An instance of a channel statemachine.
|
||||
@ -682,7 +682,7 @@ static void ctcm_chx_haltio(fsm_instance *fi, int event, void *arg)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Cleanup helper for chx_fail and chx_stopped
|
||||
* cleanup channels queue and notify interface statemachine.
|
||||
*
|
||||
@ -728,7 +728,7 @@ static void ctcm_chx_cleanup(fsm_instance *fi, int state,
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* A channel has successfully been halted.
|
||||
* Cleanup it's queue and notify interface statemachine.
|
||||
*
|
||||
@ -741,7 +741,7 @@ static void ctcm_chx_stopped(fsm_instance *fi, int event, void *arg)
|
||||
ctcm_chx_cleanup(fi, CTC_STATE_STOPPED, arg);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* A stop command from device statemachine arrived and we are in
|
||||
* not operational mode. Set state to stopped.
|
||||
*
|
||||
@ -754,7 +754,7 @@ static void ctcm_chx_stop(fsm_instance *fi, int event, void *arg)
|
||||
fsm_newstate(fi, CTC_STATE_STOPPED);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* A machine check for no path, not operational status or gone device has
|
||||
* happened.
|
||||
* Cleanup queue and notify interface statemachine.
|
||||
@ -768,7 +768,7 @@ static void ctcm_chx_fail(fsm_instance *fi, int event, void *arg)
|
||||
ctcm_chx_cleanup(fi, CTC_STATE_NOTOP, arg);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Handle error during setup of channel.
|
||||
*
|
||||
* fi An instance of a channel statemachine.
|
||||
@ -817,7 +817,7 @@ static void ctcm_chx_setuperr(fsm_instance *fi, int event, void *arg)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Restart a channel after an error.
|
||||
*
|
||||
* fi An instance of a channel statemachine.
|
||||
@ -858,7 +858,7 @@ static void ctcm_chx_restart(fsm_instance *fi, int event, void *arg)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Handle error during RX initial handshake (exchange of
|
||||
* 0-length block header)
|
||||
*
|
||||
@ -893,7 +893,7 @@ static void ctcm_chx_rxiniterr(fsm_instance *fi, int event, void *arg)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Notify device statemachine if we gave up initialization
|
||||
* of RX channel.
|
||||
*
|
||||
@ -914,7 +914,7 @@ static void ctcm_chx_rxinitfail(fsm_instance *fi, int event, void *arg)
|
||||
fsm_event(priv->fsm, DEV_EVENT_RXDOWN, dev);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Handle RX Unit check remote reset (remote disconnected)
|
||||
*
|
||||
* fi An instance of a channel statemachine.
|
||||
@ -946,7 +946,7 @@ static void ctcm_chx_rxdisc(fsm_instance *fi, int event, void *arg)
|
||||
ccw_device_halt(ch2->cdev, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Handle error during TX channel initialization.
|
||||
*
|
||||
* fi An instance of a channel statemachine.
|
||||
@ -978,7 +978,7 @@ static void ctcm_chx_txiniterr(fsm_instance *fi, int event, void *arg)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Handle TX timeout by retrying operation.
|
||||
*
|
||||
* fi An instance of a channel statemachine.
|
||||
@ -1050,7 +1050,7 @@ static void ctcm_chx_txretry(fsm_instance *fi, int event, void *arg)
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Handle fatal errors during an I/O command.
|
||||
*
|
||||
* fi An instance of a channel statemachine.
|
||||
@ -1198,7 +1198,7 @@ int ch_fsm_len = ARRAY_SIZE(ch_fsm);
|
||||
* Actions for mpc channel statemachine.
|
||||
*/
|
||||
|
||||
/**
|
||||
/*
|
||||
* Normal data has been send. Free the corresponding
|
||||
* skb (it's in io_queue), reset dev->tbusy and
|
||||
* revert to idle state.
|
||||
@ -1361,7 +1361,7 @@ static void ctcmpc_chx_txdone(fsm_instance *fi, int event, void *arg)
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Got normal data, check for sanity, queue it up, allocate new buffer
|
||||
* trigger bottom half, and initiate next read.
|
||||
*
|
||||
@ -1464,7 +1464,7 @@ static void ctcmpc_chx_rx(fsm_instance *fi, int event, void *arg)
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Initialize connection by sending a __u16 of value 0.
|
||||
*
|
||||
* fi An instance of a channel statemachine.
|
||||
@ -1516,7 +1516,7 @@ static void ctcmpc_chx_firstio(fsm_instance *fi, int event, void *arg)
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Got initial data, check it. If OK,
|
||||
* notify device statemachine that we are up and
|
||||
* running.
|
||||
@ -2043,7 +2043,7 @@ int mpc_ch_fsm_len = ARRAY_SIZE(ctcmpc_ch_fsm);
|
||||
* Actions for interface - statemachine.
|
||||
*/
|
||||
|
||||
/**
|
||||
/*
|
||||
* Startup channels by sending CTC_EVENT_START to each channel.
|
||||
*
|
||||
* fi An instance of an interface statemachine.
|
||||
@ -2068,7 +2068,7 @@ static void dev_action_start(fsm_instance *fi, int event, void *arg)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Shutdown channels by sending CTC_EVENT_STOP to each channel.
|
||||
*
|
||||
* fi An instance of an interface statemachine.
|
||||
@ -2122,7 +2122,7 @@ static void dev_action_restart(fsm_instance *fi, int event, void *arg)
|
||||
DEV_EVENT_START, dev);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Called from channel statemachine
|
||||
* when a channel is up and running.
|
||||
*
|
||||
@ -2183,7 +2183,7 @@ static void dev_action_chup(fsm_instance *fi, int event, void *arg)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Called from device statemachine
|
||||
* when a channel has been shutdown.
|
||||
*
|
||||
|
@ -55,7 +55,7 @@
|
||||
|
||||
/* Some common global variables */
|
||||
|
||||
/**
|
||||
/*
|
||||
* The root device for ctcm group devices
|
||||
*/
|
||||
static struct device *ctcm_root_dev;
|
||||
@ -65,7 +65,7 @@ static struct device *ctcm_root_dev;
|
||||
*/
|
||||
struct channel *channels;
|
||||
|
||||
/**
|
||||
/*
|
||||
* Unpack a just received skb and hand it over to
|
||||
* upper layers.
|
||||
*
|
||||
@ -180,7 +180,7 @@ void ctcm_unpack_skb(struct channel *ch, struct sk_buff *pskb)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Release a specific channel in the channel list.
|
||||
*
|
||||
* ch Pointer to channel struct to be released.
|
||||
@ -192,7 +192,7 @@ static void channel_free(struct channel *ch)
|
||||
fsm_newstate(ch->fsm, CTC_STATE_IDLE);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Remove a specific channel in the channel list.
|
||||
*
|
||||
* ch Pointer to channel struct to be released.
|
||||
@ -240,7 +240,7 @@ static void channel_remove(struct channel *ch)
|
||||
chid, ok ? "OK" : "failed");
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Get a specific channel from the channel list.
|
||||
*
|
||||
* type Type of channel we are interested in.
|
||||
@ -300,7 +300,7 @@ static long ctcm_check_irb_error(struct ccw_device *cdev, struct irb *irb)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
/*
|
||||
* Check sense of a unit check.
|
||||
*
|
||||
* ch The channel, the sense code belongs to.
|
||||
@ -414,7 +414,7 @@ int ctcm_ch_alloc_buffer(struct channel *ch)
|
||||
* Interface API for upper network layers
|
||||
*/
|
||||
|
||||
/**
|
||||
/*
|
||||
* Open an interface.
|
||||
* Called from generic network layer when ifconfig up is run.
|
||||
*
|
||||
@ -432,7 +432,7 @@ int ctcm_open(struct net_device *dev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Close an interface.
|
||||
* Called from generic network layer when ifconfig down is run.
|
||||
*
|
||||
@ -451,7 +451,7 @@ int ctcm_close(struct net_device *dev)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
/*
|
||||
* Transmit a packet.
|
||||
* This is a helper function for ctcm_tx().
|
||||
*
|
||||
@ -822,7 +822,7 @@ static int ctcmpc_transmit_skb(struct channel *ch, struct sk_buff *skb)
|
||||
return rc;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Start transmission of a packet.
|
||||
* Called from generic network device layer.
|
||||
*
|
||||
@ -975,7 +975,7 @@ static int ctcmpc_tx(struct sk_buff *skb, struct net_device *dev)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
/*
|
||||
* Sets MTU of an interface.
|
||||
*
|
||||
* dev Pointer to interface struct.
|
||||
@ -1007,7 +1007,7 @@ static int ctcm_change_mtu(struct net_device *dev, int new_mtu)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Returns interface statistics of a device.
|
||||
*
|
||||
* dev Pointer to interface struct.
|
||||
@ -1144,7 +1144,7 @@ static struct net_device *ctcm_init_netdevice(struct ctcm_priv *priv)
|
||||
return dev;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Main IRQ handler.
|
||||
*
|
||||
* cdev The ccw_device the interrupt is for.
|
||||
@ -1257,7 +1257,7 @@ static const struct device_type ctcm_devtype = {
|
||||
.groups = ctcm_attr_groups,
|
||||
};
|
||||
|
||||
/**
|
||||
/*
|
||||
* Add ctcm specific attributes.
|
||||
* Add ctcm private data.
|
||||
*
|
||||
@ -1293,7 +1293,7 @@ static int ctcm_probe_device(struct ccwgroup_device *cgdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Add a new channel to the list of channels.
|
||||
* Keeps the channel list sorted.
|
||||
*
|
||||
@ -1343,7 +1343,7 @@ static int add_channel(struct ccw_device *cdev, enum ctcm_channel_types type,
|
||||
snprintf(ch->id, CTCM_ID_SIZE, "ch-%s", dev_name(&cdev->dev));
|
||||
ch->type = type;
|
||||
|
||||
/**
|
||||
/*
|
||||
* "static" ccws are used in the following way:
|
||||
*
|
||||
* ccw[0..2] (Channel program for generic I/O):
|
||||
@ -1471,7 +1471,7 @@ static enum ctcm_channel_types get_channel_type(struct ccw_device_id *id)
|
||||
return type;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
*
|
||||
* Setup an interface.
|
||||
*
|
||||
@ -1595,7 +1595,7 @@ static int ctcm_new_device(struct ccwgroup_device *cgdev)
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Shutdown an interface.
|
||||
*
|
||||
* cgdev Device to be shut down.
|
||||
@ -1738,7 +1738,7 @@ static void print_banner(void)
|
||||
pr_info("CTCM driver initialized\n");
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Initialize module.
|
||||
* This is called just after the module is loaded.
|
||||
*
|
||||
|
@ -1016,7 +1016,7 @@ void mpc_channel_action(struct channel *ch, int direction, int action)
|
||||
CTCM_PR_DEBUG("exit %s: ch=0x%p id=%s\n", __func__, ch, ch->id);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Unpack a just received skb and hand it over to
|
||||
* upper layers.
|
||||
* special MPC version of unpack_skb.
|
||||
@ -1211,7 +1211,7 @@ static void ctcmpc_unpack_skb(struct channel *ch, struct sk_buff *pskb)
|
||||
__func__, dev->name, ch, ch->id);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* tasklet helper for mpc's skb unpacking.
|
||||
*
|
||||
* ch The channel to work on.
|
||||
@ -1320,7 +1320,7 @@ struct mpc_group *ctcmpc_init_mpc_group(struct ctcm_priv *priv)
|
||||
* CTCM_PROTO_MPC only
|
||||
*/
|
||||
|
||||
/**
|
||||
/*
|
||||
* NOP action for statemachines
|
||||
*/
|
||||
static void mpc_action_nop(fsm_instance *fi, int event, void *arg)
|
||||
@ -1426,7 +1426,7 @@ static void mpc_action_go_inop(fsm_instance *fi, int event, void *arg)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Handle mpc group action timeout.
|
||||
* MPC Group Station FSM action
|
||||
* CTCM_PROTO_MPC only
|
||||
|
@ -1,5 +1,5 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/**
|
||||
/*
|
||||
* A generic FSM based on fsm used in isdn4linux
|
||||
*
|
||||
*/
|
||||
|
@ -555,7 +555,7 @@ static int ism_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
||||
if (ret)
|
||||
goto err_disable;
|
||||
|
||||
ret = pci_set_dma_mask(pdev, DMA_BIT_MASK(64));
|
||||
ret = dma_set_mask(&pdev->dev, DMA_BIT_MASK(64));
|
||||
if (ret)
|
||||
goto err_resource;
|
||||
|
||||
|
@ -40,18 +40,18 @@
|
||||
#error Cannot compile lcs.c without some net devices switched on.
|
||||
#endif
|
||||
|
||||
/**
|
||||
/*
|
||||
* initialization string for output
|
||||
*/
|
||||
|
||||
static char version[] __initdata = "LCS driver";
|
||||
|
||||
/**
|
||||
/*
|
||||
* the root device for lcs group devices
|
||||
*/
|
||||
static struct device *lcs_root_dev;
|
||||
|
||||
/**
|
||||
/*
|
||||
* Some prototypes.
|
||||
*/
|
||||
static void lcs_tasklet(unsigned long);
|
||||
@ -62,14 +62,14 @@ static int lcs_send_delipm(struct lcs_card *, struct lcs_ipm_list *);
|
||||
#endif /* CONFIG_IP_MULTICAST */
|
||||
static int lcs_recovery(void *ptr);
|
||||
|
||||
/**
|
||||
/*
|
||||
* Debug Facility Stuff
|
||||
*/
|
||||
static char debug_buffer[255];
|
||||
static debug_info_t *lcs_dbf_setup;
|
||||
static debug_info_t *lcs_dbf_trace;
|
||||
|
||||
/**
|
||||
/*
|
||||
* LCS Debug Facility functions
|
||||
*/
|
||||
static void
|
||||
@ -96,7 +96,7 @@ lcs_register_debug_facility(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Allocate io buffers.
|
||||
*/
|
||||
static int
|
||||
@ -123,7 +123,7 @@ lcs_alloc_channel(struct lcs_channel *channel)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Free io buffers.
|
||||
*/
|
||||
static void
|
||||
@ -151,7 +151,7 @@ lcs_cleanup_channel(struct lcs_channel *channel)
|
||||
lcs_free_channel(channel);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* LCS free memory for card and channels.
|
||||
*/
|
||||
static void
|
||||
@ -162,7 +162,7 @@ lcs_free_card(struct lcs_card *card)
|
||||
kfree(card);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* LCS alloc memory for card and channels
|
||||
*/
|
||||
static struct lcs_card *
|
||||
@ -402,7 +402,7 @@ lcs_do_start_thread(struct lcs_card *card, unsigned long thread)
|
||||
return rc;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Initialize channels,card and state machines.
|
||||
*/
|
||||
static void
|
||||
@ -451,7 +451,8 @@ static void lcs_clear_multicast_list(struct lcs_card *card)
|
||||
spin_unlock_irqrestore(&card->ipm_lock, flags);
|
||||
#endif
|
||||
}
|
||||
/**
|
||||
|
||||
/*
|
||||
* Cleanup channels,card and state machines.
|
||||
*/
|
||||
static void
|
||||
@ -468,7 +469,7 @@ lcs_cleanup_card(struct lcs_card *card)
|
||||
lcs_cleanup_channel(&card->read);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Start channel.
|
||||
*/
|
||||
static int
|
||||
@ -517,7 +518,7 @@ lcs_clear_channel(struct lcs_channel *channel)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
/*
|
||||
* Stop channel.
|
||||
*/
|
||||
static int
|
||||
@ -545,7 +546,7 @@ lcs_stop_channel(struct lcs_channel *channel)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* start read and write channel
|
||||
*/
|
||||
static int
|
||||
@ -565,7 +566,7 @@ lcs_start_channels(struct lcs_card *card)
|
||||
return rc;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* stop read and write channel
|
||||
*/
|
||||
static int
|
||||
@ -577,7 +578,7 @@ lcs_stop_channels(struct lcs_card *card)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Get empty buffer.
|
||||
*/
|
||||
static struct lcs_buffer *
|
||||
@ -610,7 +611,7 @@ lcs_get_buffer(struct lcs_channel *channel)
|
||||
return buffer;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Resume channel program if the channel is suspended.
|
||||
*/
|
||||
static int
|
||||
@ -636,7 +637,7 @@ __lcs_resume_channel(struct lcs_channel *channel)
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Make a buffer ready for processing.
|
||||
*/
|
||||
static void __lcs_ready_buffer_bits(struct lcs_channel *channel, int index)
|
||||
@ -678,7 +679,7 @@ lcs_ready_buffer(struct lcs_channel *channel, struct lcs_buffer *buffer)
|
||||
return rc;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Mark the buffer as processed. Take care of the suspend bit
|
||||
* of the previous buffer. This function is called from
|
||||
* interrupt context, so the lock must not be taken.
|
||||
@ -712,7 +713,7 @@ __lcs_processed_buffer(struct lcs_channel *channel, struct lcs_buffer *buffer)
|
||||
return __lcs_resume_channel(channel);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Put a processed buffer back to state empty.
|
||||
*/
|
||||
static void
|
||||
@ -728,7 +729,7 @@ lcs_release_buffer(struct lcs_channel *channel, struct lcs_buffer *buffer)
|
||||
spin_unlock_irqrestore(get_ccwdev_lock(channel->ccwdev), flags);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Get buffer for a lan command.
|
||||
*/
|
||||
static struct lcs_buffer *
|
||||
@ -785,7 +786,7 @@ lcs_alloc_reply(struct lcs_cmd *cmd)
|
||||
return reply;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Notifier function for lancmd replies. Called from read irq.
|
||||
*/
|
||||
static void
|
||||
@ -813,7 +814,7 @@ lcs_notify_lancmd_waiters(struct lcs_card *card, struct lcs_cmd *cmd)
|
||||
spin_unlock(&card->lock);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Emit buffer of a lan command.
|
||||
*/
|
||||
static void
|
||||
@ -877,7 +878,7 @@ lcs_send_lancmd(struct lcs_card *card, struct lcs_buffer *buffer,
|
||||
return rc ? -EIO : 0;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* LCS startup command
|
||||
*/
|
||||
static int
|
||||
@ -895,7 +896,7 @@ lcs_send_startup(struct lcs_card *card, __u8 initiator)
|
||||
return lcs_send_lancmd(card, buffer, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* LCS shutdown command
|
||||
*/
|
||||
static int
|
||||
@ -912,7 +913,7 @@ lcs_send_shutdown(struct lcs_card *card)
|
||||
return lcs_send_lancmd(card, buffer, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* LCS lanstat command
|
||||
*/
|
||||
static void
|
||||
@ -939,7 +940,7 @@ lcs_send_lanstat(struct lcs_card *card)
|
||||
return lcs_send_lancmd(card, buffer, __lcs_lanstat_cb);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* send stoplan command
|
||||
*/
|
||||
static int
|
||||
@ -958,7 +959,7 @@ lcs_send_stoplan(struct lcs_card *card, __u8 initiator)
|
||||
return lcs_send_lancmd(card, buffer, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* send startlan command
|
||||
*/
|
||||
static void
|
||||
@ -986,7 +987,7 @@ lcs_send_startlan(struct lcs_card *card, __u8 initiator)
|
||||
}
|
||||
|
||||
#ifdef CONFIG_IP_MULTICAST
|
||||
/**
|
||||
/*
|
||||
* send setipm command (Multicast)
|
||||
*/
|
||||
static int
|
||||
@ -1010,7 +1011,7 @@ lcs_send_setipm(struct lcs_card *card,struct lcs_ipm_list *ipm_list)
|
||||
return lcs_send_lancmd(card, buffer, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* send delipm command (Multicast)
|
||||
*/
|
||||
static int
|
||||
@ -1034,7 +1035,7 @@ lcs_send_delipm(struct lcs_card *card,struct lcs_ipm_list *ipm_list)
|
||||
return lcs_send_lancmd(card, buffer, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* check if multicast is supported by LCS
|
||||
*/
|
||||
static void
|
||||
@ -1074,7 +1075,7 @@ lcs_check_multicast_support(struct lcs_card *card)
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* set or del multicast address on LCS card
|
||||
*/
|
||||
static void
|
||||
@ -1129,7 +1130,7 @@ lcs_fix_multicast_list(struct lcs_card *card)
|
||||
spin_unlock_irqrestore(&card->ipm_lock, flags);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* get mac address for the relevant Multicast address
|
||||
*/
|
||||
static void
|
||||
@ -1139,7 +1140,7 @@ lcs_get_mac_for_ipm(__be32 ipm, char *mac, struct net_device *dev)
|
||||
ip_eth_mc_map(ipm, mac);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* function called by net device to handle multicast address relevant things
|
||||
*/
|
||||
static void lcs_remove_mc_addresses(struct lcs_card *card,
|
||||
@ -1260,7 +1261,7 @@ lcs_register_mc_addresses(void *data)
|
||||
}
|
||||
#endif /* CONFIG_IP_MULTICAST */
|
||||
|
||||
/**
|
||||
/*
|
||||
* function called by net device to
|
||||
* handle multicast address relevant things
|
||||
*/
|
||||
@ -1355,7 +1356,7 @@ lcs_schedule_recovery(struct lcs_card *card)
|
||||
schedule_work(&card->kernel_thread_starter);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* IRQ Handler for LCS channels
|
||||
*/
|
||||
static void
|
||||
@ -1439,7 +1440,7 @@ lcs_irq(struct ccw_device *cdev, unsigned long intparm, struct irb *irb)
|
||||
tasklet_schedule(&channel->irq_tasklet);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Tasklet for IRQ handler
|
||||
*/
|
||||
static void
|
||||
@ -1476,7 +1477,7 @@ lcs_tasklet(unsigned long data)
|
||||
wake_up(&channel->wait_q);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Finish current tx buffer and make it ready for transmit.
|
||||
*/
|
||||
static void
|
||||
@ -1490,7 +1491,7 @@ __lcs_emit_txbuffer(struct lcs_card *card)
|
||||
card->tx_emitted++;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Callback for finished tx buffers.
|
||||
*/
|
||||
static void
|
||||
@ -1515,7 +1516,7 @@ lcs_txbuffer_cb(struct lcs_channel *channel, struct lcs_buffer *buffer)
|
||||
spin_unlock(&card->lock);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Packet transmit function called by network stack
|
||||
*/
|
||||
static int
|
||||
@ -1593,7 +1594,7 @@ lcs_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
return rc;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* send startlan and lanstat command to make LCS device ready
|
||||
*/
|
||||
static int
|
||||
@ -1648,7 +1649,7 @@ lcs_startlan(struct lcs_card *card)
|
||||
return rc;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* LCS detect function
|
||||
* setup channels and make them I/O ready
|
||||
*/
|
||||
@ -1680,7 +1681,7 @@ lcs_detect(struct lcs_card *card)
|
||||
return rc;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* LCS Stop card
|
||||
*/
|
||||
static int
|
||||
@ -1705,7 +1706,7 @@ lcs_stopcard(struct lcs_card *card)
|
||||
return rc;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Kernel Thread helper functions for LGW initiated commands
|
||||
*/
|
||||
static void
|
||||
@ -1721,7 +1722,7 @@ lcs_start_kernel_thread(struct work_struct *work)
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Process control frames.
|
||||
*/
|
||||
static void
|
||||
@ -1748,7 +1749,7 @@ lcs_get_control(struct lcs_card *card, struct lcs_cmd *cmd)
|
||||
lcs_notify_lancmd_waiters(card, cmd);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Unpack network packet.
|
||||
*/
|
||||
static void
|
||||
@ -1779,7 +1780,7 @@ lcs_get_skb(struct lcs_card *card, char *skb_data, unsigned int skb_len)
|
||||
netif_rx(skb);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* LCS main routine to get packets and lancmd replies from the buffers
|
||||
*/
|
||||
static void
|
||||
@ -1829,7 +1830,7 @@ lcs_get_frames_cb(struct lcs_channel *channel, struct lcs_buffer *buffer)
|
||||
lcs_ready_buffer(&card->read, buffer);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* get network statistics for ifconfig and other user programs
|
||||
*/
|
||||
static struct net_device_stats *
|
||||
@ -1842,7 +1843,7 @@ lcs_getstats(struct net_device *dev)
|
||||
return &card->stats;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* stop lcs device
|
||||
* This function will be called by user doing ifconfig xxx down
|
||||
*/
|
||||
@ -1866,7 +1867,7 @@ lcs_stop_device(struct net_device *dev)
|
||||
return rc;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* start lcs device and make it runnable
|
||||
* This function will be called by user doing ifconfig xxx up
|
||||
*/
|
||||
@ -1892,7 +1893,7 @@ lcs_open_device(struct net_device *dev)
|
||||
return rc;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* show function for portno called by cat or similar things
|
||||
*/
|
||||
static ssize_t
|
||||
@ -1908,7 +1909,7 @@ lcs_portno_show (struct device *dev, struct device_attribute *attr, char *buf)
|
||||
return sprintf(buf, "%d\n", card->portno);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* store the value which is piped to file portno
|
||||
*/
|
||||
static ssize_t
|
||||
@ -2033,7 +2034,7 @@ static const struct device_type lcs_devtype = {
|
||||
.groups = lcs_attr_groups,
|
||||
};
|
||||
|
||||
/**
|
||||
/*
|
||||
* lcs_probe_device is called on establishing a new ccwgroup_device.
|
||||
*/
|
||||
static int
|
||||
@ -2077,7 +2078,7 @@ lcs_register_netdev(struct ccwgroup_device *ccwgdev)
|
||||
return register_netdev(card->dev);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* lcs_new_device will be called by setting the group device online.
|
||||
*/
|
||||
static const struct net_device_ops lcs_netdev_ops = {
|
||||
@ -2199,7 +2200,7 @@ lcs_new_device(struct ccwgroup_device *ccwgdev)
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* lcs_shutdown_device, called when setting the group device offline.
|
||||
*/
|
||||
static int
|
||||
@ -2240,7 +2241,7 @@ lcs_shutdown_device(struct ccwgroup_device *ccwgdev)
|
||||
return __lcs_shutdown_device(ccwgdev, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* drive lcs recovery after startup and startlan initiated by Lan Gateway
|
||||
*/
|
||||
static int
|
||||
@ -2271,7 +2272,7 @@ lcs_recovery(void *ptr)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* lcs_remove_device, free buffers and card
|
||||
*/
|
||||
static void
|
||||
@ -2315,7 +2316,7 @@ static struct ccw_driver lcs_ccw_driver = {
|
||||
.int_class = IRQIO_LCS,
|
||||
};
|
||||
|
||||
/**
|
||||
/*
|
||||
* LCS ccwgroup driver registration
|
||||
*/
|
||||
static struct ccwgroup_driver lcs_group_driver = {
|
||||
@ -2351,7 +2352,7 @@ static const struct attribute_group *lcs_drv_attr_groups[] = {
|
||||
NULL,
|
||||
};
|
||||
|
||||
/**
|
||||
/*
|
||||
* LCS Module/Kernel initialization function
|
||||
*/
|
||||
static int
|
||||
@ -2389,7 +2390,7 @@ __init lcs_init_module(void)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
/*
|
||||
* LCS module cleanup function
|
||||
*/
|
||||
static void
|
||||
|
@ -58,7 +58,7 @@ MODULE_AUTHOR
|
||||
("(C) 2001 IBM Corporation by Fritz Elfert (felfert@millenux.com)");
|
||||
MODULE_DESCRIPTION ("Linux for S/390 IUCV network driver");
|
||||
|
||||
/**
|
||||
/*
|
||||
* Debug Facility stuff
|
||||
*/
|
||||
#define IUCV_DBF_SETUP_NAME "iucv_setup"
|
||||
@ -107,7 +107,7 @@ DECLARE_PER_CPU(char[256], iucv_dbf_txt_buf);
|
||||
debug_sprintf_event(iucv_dbf_trace, level, text ); \
|
||||
} while (0)
|
||||
|
||||
/**
|
||||
/*
|
||||
* some more debug stuff
|
||||
*/
|
||||
#define PRINTK_HEADER " iucv: " /* for debugging */
|
||||
@ -118,7 +118,7 @@ static struct device_driver netiucv_driver = {
|
||||
.bus = &iucv_bus,
|
||||
};
|
||||
|
||||
/**
|
||||
/*
|
||||
* Per connection profiling data
|
||||
*/
|
||||
struct connection_profile {
|
||||
@ -133,7 +133,7 @@ struct connection_profile {
|
||||
unsigned long tx_max_pending;
|
||||
};
|
||||
|
||||
/**
|
||||
/*
|
||||
* Representation of one iucv connection
|
||||
*/
|
||||
struct iucv_connection {
|
||||
@ -154,13 +154,13 @@ struct iucv_connection {
|
||||
char userdata[17];
|
||||
};
|
||||
|
||||
/**
|
||||
/*
|
||||
* Linked list of all connection structs.
|
||||
*/
|
||||
static LIST_HEAD(iucv_connection_list);
|
||||
static DEFINE_RWLOCK(iucv_connection_rwlock);
|
||||
|
||||
/**
|
||||
/*
|
||||
* Representation of event-data for the
|
||||
* connection state machine.
|
||||
*/
|
||||
@ -169,7 +169,7 @@ struct iucv_event {
|
||||
void *data;
|
||||
};
|
||||
|
||||
/**
|
||||
/*
|
||||
* Private part of the network device structure
|
||||
*/
|
||||
struct netiucv_priv {
|
||||
@ -180,7 +180,7 @@ struct netiucv_priv {
|
||||
struct device *dev;
|
||||
};
|
||||
|
||||
/**
|
||||
/*
|
||||
* Link level header for a packet.
|
||||
*/
|
||||
struct ll_header {
|
||||
@ -195,7 +195,7 @@ struct ll_header {
|
||||
#define NETIUCV_QUEUELEN_DEFAULT 50
|
||||
#define NETIUCV_TIMEOUT_5SEC 5000
|
||||
|
||||
/**
|
||||
/*
|
||||
* Compatibility macros for busy handling
|
||||
* of network devices.
|
||||
*/
|
||||
@ -223,7 +223,7 @@ static u8 iucvMagic_ebcdic[16] = {
|
||||
0xF0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40
|
||||
};
|
||||
|
||||
/**
|
||||
/*
|
||||
* Convert an iucv userId to its printable
|
||||
* form (strip whitespace at end).
|
||||
*
|
||||
@ -262,7 +262,7 @@ static char *netiucv_printuser(struct iucv_connection *conn)
|
||||
return netiucv_printname(conn->userid, 8);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* States of the interface statemachine.
|
||||
*/
|
||||
enum dev_states {
|
||||
@ -270,7 +270,7 @@ enum dev_states {
|
||||
DEV_STATE_STARTWAIT,
|
||||
DEV_STATE_STOPWAIT,
|
||||
DEV_STATE_RUNNING,
|
||||
/**
|
||||
/*
|
||||
* MUST be always the last element!!
|
||||
*/
|
||||
NR_DEV_STATES
|
||||
@ -283,7 +283,7 @@ static const char *dev_state_names[] = {
|
||||
"Running",
|
||||
};
|
||||
|
||||
/**
|
||||
/*
|
||||
* Events of the interface statemachine.
|
||||
*/
|
||||
enum dev_events {
|
||||
@ -291,7 +291,7 @@ enum dev_events {
|
||||
DEV_EVENT_STOP,
|
||||
DEV_EVENT_CONUP,
|
||||
DEV_EVENT_CONDOWN,
|
||||
/**
|
||||
/*
|
||||
* MUST be always the last element!!
|
||||
*/
|
||||
NR_DEV_EVENTS
|
||||
@ -304,11 +304,11 @@ static const char *dev_event_names[] = {
|
||||
"Connection down",
|
||||
};
|
||||
|
||||
/**
|
||||
/*
|
||||
* Events of the connection statemachine
|
||||
*/
|
||||
enum conn_events {
|
||||
/**
|
||||
/*
|
||||
* Events, representing callbacks from
|
||||
* lowlevel iucv layer)
|
||||
*/
|
||||
@ -320,23 +320,23 @@ enum conn_events {
|
||||
CONN_EVENT_RX,
|
||||
CONN_EVENT_TXDONE,
|
||||
|
||||
/**
|
||||
/*
|
||||
* Events, representing errors return codes from
|
||||
* calls to lowlevel iucv layer
|
||||
*/
|
||||
|
||||
/**
|
||||
/*
|
||||
* Event, representing timer expiry.
|
||||
*/
|
||||
CONN_EVENT_TIMER,
|
||||
|
||||
/**
|
||||
/*
|
||||
* Events, representing commands from upper levels.
|
||||
*/
|
||||
CONN_EVENT_START,
|
||||
CONN_EVENT_STOP,
|
||||
|
||||
/**
|
||||
/*
|
||||
* MUST be always the last element!!
|
||||
*/
|
||||
NR_CONN_EVENTS,
|
||||
@ -357,55 +357,55 @@ static const char *conn_event_names[] = {
|
||||
"Stop",
|
||||
};
|
||||
|
||||
/**
|
||||
/*
|
||||
* States of the connection statemachine.
|
||||
*/
|
||||
enum conn_states {
|
||||
/**
|
||||
/*
|
||||
* Connection not assigned to any device,
|
||||
* initial state, invalid
|
||||
*/
|
||||
CONN_STATE_INVALID,
|
||||
|
||||
/**
|
||||
/*
|
||||
* Userid assigned but not operating
|
||||
*/
|
||||
CONN_STATE_STOPPED,
|
||||
|
||||
/**
|
||||
/*
|
||||
* Connection registered,
|
||||
* no connection request sent yet,
|
||||
* no connection request received
|
||||
*/
|
||||
CONN_STATE_STARTWAIT,
|
||||
|
||||
/**
|
||||
/*
|
||||
* Connection registered and connection request sent,
|
||||
* no acknowledge and no connection request received yet.
|
||||
*/
|
||||
CONN_STATE_SETUPWAIT,
|
||||
|
||||
/**
|
||||
/*
|
||||
* Connection up and running idle
|
||||
*/
|
||||
CONN_STATE_IDLE,
|
||||
|
||||
/**
|
||||
/*
|
||||
* Data sent, awaiting CONN_EVENT_TXDONE
|
||||
*/
|
||||
CONN_STATE_TX,
|
||||
|
||||
/**
|
||||
/*
|
||||
* Error during registration.
|
||||
*/
|
||||
CONN_STATE_REGERR,
|
||||
|
||||
/**
|
||||
/*
|
||||
* Error during registration.
|
||||
*/
|
||||
CONN_STATE_CONNERR,
|
||||
|
||||
/**
|
||||
/*
|
||||
* MUST be always the last element!!
|
||||
*/
|
||||
NR_CONN_STATES,
|
||||
@ -424,7 +424,7 @@ static const char *conn_state_names[] = {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
/*
|
||||
* Debug Facility Stuff
|
||||
*/
|
||||
static debug_info_t *iucv_dbf_setup = NULL;
|
||||
@ -556,7 +556,7 @@ static void netiucv_callback_connres(struct iucv_path *path, u8 *ipuser)
|
||||
fsm_event(conn->fsm, CONN_EVENT_CONN_RES, conn);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* NOP action for statemachines
|
||||
*/
|
||||
static void netiucv_action_nop(fsm_instance *fi, int event, void *arg)
|
||||
@ -567,7 +567,7 @@ static void netiucv_action_nop(fsm_instance *fi, int event, void *arg)
|
||||
* Actions of the connection statemachine
|
||||
*/
|
||||
|
||||
/**
|
||||
/*
|
||||
* netiucv_unpack_skb
|
||||
* @conn: The connection where this skb has been received.
|
||||
* @pskb: The received skb.
|
||||
@ -993,7 +993,7 @@ static const int CONN_FSM_LEN = sizeof(conn_fsm) / sizeof(fsm_node);
|
||||
* Actions for interface - statemachine.
|
||||
*/
|
||||
|
||||
/**
|
||||
/*
|
||||
* dev_action_start
|
||||
* @fi: An instance of an interface statemachine.
|
||||
* @event: The event, just happened.
|
||||
@ -1012,7 +1012,7 @@ static void dev_action_start(fsm_instance *fi, int event, void *arg)
|
||||
fsm_event(privptr->conn->fsm, CONN_EVENT_START, privptr->conn);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Shutdown connection by sending CONN_EVENT_STOP to it.
|
||||
*
|
||||
* @param fi An instance of an interface statemachine.
|
||||
@ -1034,7 +1034,7 @@ dev_action_stop(fsm_instance *fi, int event, void *arg)
|
||||
fsm_event(privptr->conn->fsm, CONN_EVENT_STOP, &ev);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Called from connection statemachine
|
||||
* when a connection is up and running.
|
||||
*
|
||||
@ -1067,7 +1067,7 @@ dev_action_connup(fsm_instance *fi, int event, void *arg)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Called from connection statemachine
|
||||
* when a connection has been shutdown.
|
||||
*
|
||||
@ -1107,7 +1107,7 @@ static const fsm_node dev_fsm[] = {
|
||||
|
||||
static const int DEV_FSM_LEN = sizeof(dev_fsm) / sizeof(fsm_node);
|
||||
|
||||
/**
|
||||
/*
|
||||
* Transmit a packet.
|
||||
* This is a helper function for netiucv_tx().
|
||||
*
|
||||
@ -1144,7 +1144,7 @@ static int netiucv_transmit_skb(struct iucv_connection *conn,
|
||||
spin_unlock_irqrestore(&conn->collect_lock, saveflags);
|
||||
} else {
|
||||
struct sk_buff *nskb = skb;
|
||||
/**
|
||||
/*
|
||||
* Copy the skb to a new allocated skb in lowmem only if the
|
||||
* data is located above 2G in memory or tailroom is < 2.
|
||||
*/
|
||||
@ -1164,7 +1164,7 @@ static int netiucv_transmit_skb(struct iucv_connection *conn,
|
||||
}
|
||||
copied = 1;
|
||||
}
|
||||
/**
|
||||
/*
|
||||
* skb now is below 2G and has enough room. Add headers.
|
||||
*/
|
||||
header.next = nskb->len + NETIUCV_HDRLEN;
|
||||
@ -1194,7 +1194,7 @@ static int netiucv_transmit_skb(struct iucv_connection *conn,
|
||||
if (copied)
|
||||
dev_kfree_skb(nskb);
|
||||
else {
|
||||
/**
|
||||
/*
|
||||
* Remove our headers. They get added
|
||||
* again on retransmit.
|
||||
*/
|
||||
@ -1217,7 +1217,7 @@ static int netiucv_transmit_skb(struct iucv_connection *conn,
|
||||
* Interface API for upper network layers
|
||||
*/
|
||||
|
||||
/**
|
||||
/*
|
||||
* Open an interface.
|
||||
* Called from generic network layer when ifconfig up is run.
|
||||
*
|
||||
@ -1233,7 +1233,7 @@ static int netiucv_open(struct net_device *dev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Close an interface.
|
||||
* Called from generic network layer when ifconfig down is run.
|
||||
*
|
||||
@ -1249,7 +1249,7 @@ static int netiucv_close(struct net_device *dev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Start transmission of a packet.
|
||||
* Called from generic network device layer.
|
||||
*
|
||||
@ -1266,7 +1266,7 @@ static int netiucv_tx(struct sk_buff *skb, struct net_device *dev)
|
||||
int rc;
|
||||
|
||||
IUCV_DBF_TEXT(trace, 4, __func__);
|
||||
/**
|
||||
/*
|
||||
* Some sanity checks ...
|
||||
*/
|
||||
if (skb == NULL) {
|
||||
@ -1282,7 +1282,7 @@ static int netiucv_tx(struct sk_buff *skb, struct net_device *dev)
|
||||
return NETDEV_TX_OK;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* If connection is not running, try to restart it
|
||||
* and throw away packet.
|
||||
*/
|
||||
@ -1304,7 +1304,7 @@ static int netiucv_tx(struct sk_buff *skb, struct net_device *dev)
|
||||
return rc ? NETDEV_TX_BUSY : NETDEV_TX_OK;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* netiucv_stats
|
||||
* @dev: Pointer to interface struct.
|
||||
*
|
||||
@ -1745,7 +1745,7 @@ static void netiucv_unregister_device(struct device *dev)
|
||||
device_unregister(dev);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Allocate and initialize a new connection structure.
|
||||
* Add it to the list of netiucv connections;
|
||||
*/
|
||||
@ -1802,7 +1802,7 @@ static struct iucv_connection *netiucv_new_connection(struct net_device *dev,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Release a connection structure and remove it from the
|
||||
* list of netiucv connections.
|
||||
*/
|
||||
@ -1826,7 +1826,7 @@ static void netiucv_remove_connection(struct iucv_connection *conn)
|
||||
kfree_skb(conn->tx_buff);
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Release everything of a net device.
|
||||
*/
|
||||
static void netiucv_free_netdevice(struct net_device *dev)
|
||||
@ -1848,7 +1848,7 @@ static void netiucv_free_netdevice(struct net_device *dev)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Initialize a net device. (Called from kernel in alloc_netdev())
|
||||
*/
|
||||
static const struct net_device_ops netiucv_netdev_ops = {
|
||||
@ -1873,7 +1873,7 @@ static void netiucv_setup_netdevice(struct net_device *dev)
|
||||
dev->netdev_ops = &netiucv_netdev_ops;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Allocate and initialize everything of a net device.
|
||||
*/
|
||||
static struct net_device *netiucv_init_netdevice(char *username, char *userdata)
|
||||
|
Loading…
Reference in New Issue
Block a user