ISDN patches for net-next
Subsystems (2)
cover ISDN patches for net-next
Here's a series of patches for the ISDN CAPI subsystem and the Gigaset ISDN driver. Please merge via net-next.
Tilman Schmidt (4):
isdn/gigaset: improve error handling when leaving DLE mode isdn/gigaset: drop unused cardstate structure member isdn/gigaset: use USB API function usb_endpoint_num() isdn/capi: drop two dead if branches
drivers/isdn/capi/capiutil.c | 3 --- drivers/isdn/gigaset/ev-layer.c | 3 ++- drivers/isdn/gigaset/usb-gigaset.c | 14 +++++--------- 3 files changed, 7 insertions(+), 13 deletions(-)
PATCH 4/4 isdn/capi: drop two dead if branches
The last branch in command_2_index() cannot be reached since c==0xff is already caught by the first "if".
The empty second branch makes no difference since no other branch will be taken for c<0x0f.
--- drivers/isdn/capi/capiutil.c | 3 --- 1 file changed, 3 deletions(-)
drivers/isdn/capi/capiutil.c +0 -3
@@ -205,11 +205,8 @@ static unsigned command_2_index(unsigned c, unsigned sc) {if (c &0x80 ) c =0x9 + (c &0x0f ); -else if (c <=0x0f );else if (c ==0x41 ) c =0x9 +0x1 ; -else if (c ==0xff ) - c =0x00 ;return (sc &3 ) * (0x9 +0x9 ) + c; }
Signature · 1 line
1.9.2.459.g68773ac
PATCH 1/4 isdn/gigaset: improve error handling when leaving DLE mode
In reply to Tilman SchmidtAvoid cascading warnings when leaving DLE mode fails by clearing the DLE flag before entering recovery.
--- drivers/isdn/gigaset/ev-layer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/isdn/gigaset/ev-layer.c +2 -1
@@ -1243,7 +1243,8 @@ static void do_action(int action, struct cardstate *cs,break ;case ACT_FAILDLE0 : cs->cur_at_seq =SEQ_NONE ; -dev_warn (cs->dev,"Could not leave DLE mode.\n" ); +dev_warn (cs->dev,"Error leaving DLE mode.\n" ); + cs->dle =0 ; at_state2 = &cs->bcs[cs->curchannel].at_state;disconnect (&at_state2);schedule_init (cs,MS_RECOVER );
Signature · 1 line
1.9.2.459.g68773ac
PATCH 2/4 isdn/gigaset: drop unused cardstate structure member
In reply to Tilman SchmidtField int_in_endpointAddr was set but never used. Drop it.
--- drivers/isdn/gigaset/usb-gigaset.c | 2 -- 1 file changed, 2 deletions(-)
drivers/isdn/gigaset/usb-gigaset.c +0 -2
@@ -142,7 +142,6 @@ struct usb_cardstate {unsigned char *rcvbuf;int rcvbuf_size;struct urb *read_urb; -__u8 int_in_endpointAddr;char bchars[6 ];/* for request 0x19 */ };
@@ -741,7 +740,6 @@ static int gigaset_probe(struct usb_interface *interface, } buffer_size =le16_to_cpu (endpoint->wMaxPacketSize); ucs->rcvbuf_size = buffer_size; - ucs->int_in_endpointAddr = endpoint->bEndpointAddress; ucs->rcvbuf =kmalloc (buffer_size,GFP_KERNEL );if (!ucs->rcvbuf) {dev_err (cs->dev,"Couldn't allocate rcvbuf\n" );
Signature · 1 line
1.9.2.459.g68773ac
PATCH 3/4 isdn/gigaset: use USB API function usb_endpoint_num()
In reply to Tilman SchmidtUse function usb_endpoint_num() for the bulk endpoint and store the endpoint number in the cardstate structure instead of the raw endpoint address value.
--- drivers/isdn/gigaset/usb-gigaset.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-)
drivers/isdn/gigaset/usb-gigaset.c +5 -7
@@ -135,7 +135,7 @@ struct usb_cardstate {/* Output buffer */ unsigned char *bulk_out_buffer;int bulk_out_size; -__u8 bulk_out_endpointAddr; +int bulk_out_epnum;struct urb *bulk_out_urb;/* Input buffer */
@@ -465,7 +465,7 @@ static int send_cb(struct cardstate *cs, struct cmdbuf_t *cb)usb_fill_bulk_urb (ucs->bulk_out_urb, ucs->udev,usb_sndbulkpipe (ucs->udev, - ucs->bulk_out_endpointAddr &0x0f ), + ucs->bulk_out_epnum), cb->buf + cb->offset, count, gigaset_write_bulk_callback, cs);
@@ -627,8 +627,7 @@ static int write_modem(struct cardstate *cs)if (cs->connected) {usb_fill_bulk_urb (ucs->bulk_out_urb, ucs->udev,usb_sndbulkpipe (ucs->udev, - ucs->bulk_out_endpointAddr & -0x0f ), + ucs->bulk_out_epnum), ucs->bulk_out_buffer, count, gigaset_write_bulk_callback, cs); ret =usb_submit_urb (ucs->bulk_out_urb,GFP_ATOMIC );
@@ -713,7 +712,7 @@ static int gigaset_probe(struct usb_interface *interface, buffer_size =le16_to_cpu (endpoint->wMaxPacketSize); ucs->bulk_out_size = buffer_size; - ucs->bulk_out_endpointAddr = endpoint->bEndpointAddress; + ucs->bulk_out_epnum =usb_endpoint_num (endpoint); ucs->bulk_out_buffer =kmalloc (buffer_size,GFP_KERNEL );if (!ucs->bulk_out_buffer) {dev_err (cs->dev,"Couldn't allocate bulk_out_buffer\n" );
@@ -748,8 +747,7 @@ static int gigaset_probe(struct usb_interface *interface, }/* Fill the interrupt urb and send it to the core */ usb_fill_int_urb (ucs->read_urb, udev, -usb_rcvintpipe (udev, -usb_endpoint_num (endpoint)), +usb_rcvintpipe (udev,usb_endpoint_num (endpoint)), ucs->rcvbuf, buffer_size, gigaset_read_int_callback, cs, endpoint->bInterval);
Signature · 1 line
1.9.2.459.g68773ac
David Miller
maintainerFrom: Tilman Schmidt <[email protected]>
Date: Fri, 3 Oct 2014 17:03:32 +0200
Quoted 2 lines
Here's a series of patches for the ISDN CAPI subsystem and the Gigaset ISDN driver. Please merge via net-next.
Series applied, thanks.