[PATCH 5/5] staging: r8712u: Merging Realtek's latest (v2.6.6). Various fixes.

Ali Bahar ali at internetdog.org
Sat Aug 27 06:46:16 UTC 2011


Larry,

a brief update.


On Tue, Aug 23, 2011 at 11:37:21AM -0500, Larry Finger wrote:
> On 08/23/2011 12:53 AM, Ali Bahar wrote:
> >Merged the changes from Realtek's v2.6.6.0.20110401 release.
> >Its Release Notes listed the fixes, though not all may have been
> >merged into this commit. They include:



> >diff --git a/drivers/staging/rtl8712/rtl8712_efuse.c b/drivers/staging/rtl8712/rtl8712_efuse.c
> >index 1dc12b7..8f81d51 100644
> >--- a/drivers/staging/rtl8712/rtl8712_efuse.c
> >+++ b/drivers/staging/rtl8712/rtl8712_efuse.c
> >@@ -302,55 +302,70 @@ static u8 fix_header(struct _adapter *padapter, u8 header, u16 header_addr)
> >  		}
> >  		offset = GET_EFUSE_OFFSET(value);
> >  		word_en = GET_EFUSE_WORD_EN(value);
> >-		if (pkt.offset != offset) {
> >+		if (pkt.offset == offset) {
> >+			for (i = 0; i<  PGPKG_MAX_WORDS; i++) {
> >+				if (BIT(i)&  word_en) {
> >+					if (BIT(i)&  pkt.word_en) {
> 
> The two if statements above should be collapsed into
> 
> if ((BIT(i) &  word_en) && (BIT(i) &  pkt.word_en)) {
> 
> That will get rid of one level on indentation. It still gets a lot
> on indentation, but probably not worth refactoring.


As it turns out, this particular one _does_ create a bit more
horizontal space -- though not all do. 
However, there is an 'addr += 2;' assignment inside the first if's
block. So '&&' is not appropriate.



> >diff --git a/drivers/staging/rtl8712/rtl871x_xmit.c b/drivers/staging/rtl8712/rtl871x_xmit.c
> >index ccf0891..6b86901 100644
> >--- a/drivers/staging/rtl8712/rtl871x_xmit.c
> >+++ b/drivers/staging/rtl8712/rtl871x_xmit.c
> >@@ -152,11 +152,12 @@ sint _r8712_init_xmit_priv(struct xmit_priv *pxmitpriv,
> >  		pxmitbuf++;
> >  	}
> >  	pxmitpriv->free_xmitbuf_cnt = NR_XMITBUFF;
> >+	_init_workitem(&padapter->wkFilterRxFF0, r8712_SetFilter, padapter);
> >  	alloc_hwxmits(padapter);
> >  	init_hwxmits(pxmitpriv->hwxmits, pxmitpriv->hwxmit_entry);
> >  	tasklet_init(&pxmitpriv->xmit_tasklet,
> >-	     (void(*)(addr_t))r8712_xmit_bh,
> >-	     (addr_t)padapter);
> >+	     (void(*)(unsigned long))r8712_xmit_bh,
> >+	     (unsigned long)padapter);
> >  	return _SUCCESS;
> >  }
> >
> >@@ -349,7 +350,8 @@ sint r8712_update_attrib(struct _adapter *padapter, _pkt *pkt,
> >  static sint xmitframe_addmic(struct _adapter *padapter,
> >  			     struct xmit_frame *pxmitframe)
> >  {
> >-	u32	curfragnum, length, datalen;
> >+	sint	curfragnum, length;
> >+	u32	datalen;
> 
> Do you know why these changed? Certainly curfragnum and length are
> positive. I don't see any change in the usage of either.

I am trying to separate these sign changes into a separate, last
commit - in the hope that they'd be more skippable. Typically, the
usage of such variables has not changed, but the sign has. 
I will skip the safer ones.

regards,
ali


> Larry



More information about the devel mailing list