I converted the long if-else in function Mds_HeaderCopy() to a switch
instead. It compiles fine but i don't have the hardware to test.
Please check that I didn't do anything bad to it..
The patch applies on top of this patch:
Message-Id: <1268670973-6223-1-git-send-email-lindley@xxxxxxxxxx>
Signed-off-by: Lars Lindley <lindley@xxxxxxxxxx>
---
drivers/staging/winbond/mds.c | 38 +++++++++++++++++++++++---------------
1 files changed, 23 insertions(+), 15 deletions(-)
diff --git a/drivers/staging/winbond/mds.c b/drivers/staging/winbond/mds.c
index ef08b51..6082fa8 100644
--- a/drivers/staging/winbond/mds.c
+++ b/drivers/staging/winbond/mds.c
@@ -400,30 +400,38 @@ static void Mds_HeaderCopy(struct wbsoft_priv *adapter,
* back rate
*/
- if (ctmp1 == 108)
+ switch (ctmp1) {
+ case 108:
ctmp2 = 7;
- else if (ctmp1 == 96)
+ break;
+ case 96:
ctmp2 = 6; /* Rate convert for USB */
- else if (ctmp1 == 72)
+ break;
+ case 72:
ctmp2 = 5;
- else if (ctmp1 == 48)
+ break;
+ case 48:
ctmp2 = 4;
- else if (ctmp1 == 36)
+ break;
+ case 36:
+ case 22:
ctmp2 = 3;
- else if (ctmp1 == 24)
+ break;
+ case 24:
+ case 11:
ctmp2 = 2;
- else if (ctmp1 == 18)
+ break;
+ case 18:
+ case 4:
ctmp2 = 1;
- else if (ctmp1 == 12)
+ break;
+ case 12:
ctmp2 = 0;
- else if (ctmp1 == 22)
- ctmp2 = 3;
- else if (ctmp1 == 11)
- ctmp2 = 2;
- else if (ctmp1 == 4)
- ctmp2 = 1;
- else
+ break;
+ default:
ctmp2 = 0; /* if (ctmp1 == 2) or default */
+ break;
+ }