gsm0808_utils: Fix gsm0808_cause_class() function

Cause class is in bits 5-7 of the cause value.
For the cause value 0x52 old version returned 0xa instead of
a correct 0x5.

See section 3.2.2.5 Cause of TS 08.08 for the details.

Change-Id: I46646740c5daaafe20123e709f26dd1d2c1b6f8d
diff --git a/include/osmocom/gsm/gsm0808_utils.h b/include/osmocom/gsm/gsm0808_utils.h
index 1cdca8c..a8852e4 100644
--- a/include/osmocom/gsm/gsm0808_utils.h
+++ b/include/osmocom/gsm/gsm0808_utils.h
@@ -145,7 +145,7 @@
 /*! \returns 3GPP TS 08.08 §3.2.2.5 Class of a given Cause */
 static inline enum gsm0808_cause_class gsm0808_cause_class(enum gsm0808_cause cause)
 {
-	return (cause << 1) >> 4;
+	return (cause >> 4) & 0x7;
 }
 
 /*! \returns true if 3GPP TS 08.08 §3.2.2.5 Class has extended bit set */