}
/* Regular parsing */
- switch (elm->state) {
- case ELM_RECEIVING:
- if (elm327_parse_frame(elm, len)) {
- /* Parse an error line. */
- elm327_parse_error(elm, len);
+ if (elm->state == ELM_RECEIVING
+ && elm327_parse_frame(elm, len)) {
+ /* Parse an error line. */
+ elm327_parse_error(elm, len);
- /* Start afresh. */
- elm327_kick_into_cmd_mode(elm);
- }
- break;
- default:
- break;
+ /* Start afresh. */
+ elm327_kick_into_cmd_mode(elm);
}
}
static void elm327_parse_rxbuf(struct elmcan *elm)
{
size_t len;
+ int i;
switch (elm->state) {
case ELM_NOTINIT:
case ELM_GETDUMMYCHAR:
{
/* Wait for 'y' or '>' */
- int i;
-
for (i = 0; i < elm->rxfill; i++) {
if (elm->rxbuf[i] == ELM327_DUMMY_CHAR) {
elm327_send(elm, "\r", 1);
struct elmcan *elm = netdev_priv(dev);
struct can_frame *frame = (struct can_frame *)skb->data;
- if (!netif_running(dev)) {
- netdev_warn(elm->dev, "xmit: iface is down.\n");
- goto out;
- }
-
/* BHs are already disabled, so no spin_lock_bh().
* See Documentation/networking/netdevices.txt
*/