|
@@ -264,8 +264,12 @@ HwHSSIThreeWire(
|
|
|
|
|
|
udelay(10);
|
|
|
}
|
|
|
- if (TryCnt == TC_3W_POLL_MAX_TRY_CNT)
|
|
|
- panic("HwThreeWire(): CmdReg: %#X RE|WE bits are not clear!!\n", u1bTmp);
|
|
|
+ if (TryCnt == TC_3W_POLL_MAX_TRY_CNT) {
|
|
|
+ printk(KERN_ERR "rtl8187se: HwThreeWire(): CmdReg:"
|
|
|
+ " %#X RE|WE bits are not clear!!\n", u1bTmp);
|
|
|
+ dump_stack();
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
|
|
|
/* RTL8187S HSSI Read/Write Function */
|
|
|
u1bTmp = read_nic_byte(dev, RF_SW_CONFIG);
|
|
@@ -298,13 +302,23 @@ HwHSSIThreeWire(
|
|
|
int idx;
|
|
|
int ByteCnt = nDataBufBitCnt / 8;
|
|
|
/* printk("%d\n",nDataBufBitCnt); */
|
|
|
- if ((nDataBufBitCnt % 8) != 0)
|
|
|
- panic("HwThreeWire(): nDataBufBitCnt(%d) should be multiple of 8!!!\n",
|
|
|
- nDataBufBitCnt);
|
|
|
+ if ((nDataBufBitCnt % 8) != 0) {
|
|
|
+ printk(KERN_ERR "rtl8187se: "
|
|
|
+ "HwThreeWire(): nDataBufBitCnt(%d)"
|
|
|
+ " should be multiple of 8!!!\n",
|
|
|
+ nDataBufBitCnt);
|
|
|
+ dump_stack();
|
|
|
+ nDataBufBitCnt += 8;
|
|
|
+ nDataBufBitCnt &= ~7;
|
|
|
+ }
|
|
|
|
|
|
- if (nDataBufBitCnt > 64)
|
|
|
- panic("HwThreeWire(): nDataBufBitCnt(%d) should <= 64!!!\n",
|
|
|
- nDataBufBitCnt);
|
|
|
+ if (nDataBufBitCnt > 64) {
|
|
|
+ printk(KERN_ERR "rtl8187se: HwThreeWire():"
|
|
|
+ " nDataBufBitCnt(%d) should <= 64!!!\n",
|
|
|
+ nDataBufBitCnt);
|
|
|
+ dump_stack();
|
|
|
+ nDataBufBitCnt = 64;
|
|
|
+ }
|
|
|
|
|
|
for (idx = 0; idx < ByteCnt; idx++)
|
|
|
write_nic_byte(dev, (SW_3W_DB0+idx), *(pDataBuf+idx));
|