mirror of
https://github.com/torvalds/linux.git
synced 2026-07-31 11:37:06 +02:00
Staging: bcm: nvm.c: Outsourced chunk of code into function
This patch outsources a chunk of code into an own function. It also refactors the variable names which are used within this function. The function name may be not appropriate. Signed-off-by: Matthias Beyer <mail@beyermatthias.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
3ccc0fd524
commit
093300f444
|
|
@ -1033,6 +1033,44 @@ static ULONG BcmFlashUnProtectBlock(struct bcm_mini_adapter *Adapter, unsigned i
|
|||
return ulStatus;
|
||||
}
|
||||
|
||||
static int bulk_read_complete_sector(struct bcm_mini_adapter *ad,
|
||||
UCHAR read_bk[],
|
||||
PCHAR tmpbuff,
|
||||
unsigned int offset,
|
||||
unsigned int partoff,
|
||||
unsigned int i)
|
||||
{
|
||||
unsigned int j;
|
||||
int bulk_read_stat;
|
||||
|
||||
for (i = 0; i < ad->uiSectorSize; i += MAX_RW_SIZE) {
|
||||
bulk_read_stat = BeceemFlashBulkRead(ad,
|
||||
(PUINT)read_bk,
|
||||
offset + i,
|
||||
MAX_RW_SIZE);
|
||||
|
||||
if (bulk_read_stat == STATUS_SUCCESS) {
|
||||
if (ad->ulFlashWriteSize == 1) {
|
||||
for (j = 0; j < 16; j++) {
|
||||
if (read_bk[j] != tmpbuff[i+j]) {
|
||||
if (STATUS_SUCCESS != (*ad->fpFlashWriteWithStatusCheck)(ad, partoff + i + j, &tmpbuff[i+j])) {
|
||||
return STATUS_FAILURE;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (memcmp(read_bk, &tmpbuff[i], MAX_RW_SIZE)) {
|
||||
if (STATUS_SUCCESS != (*ad->fpFlashWriteWithStatusCheck)(ad, partoff + i, &tmpbuff[i])) {
|
||||
return STATUS_FAILURE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* Procedure: BeceemFlashBulkWrite
|
||||
*
|
||||
|
|
@ -1169,29 +1207,17 @@ static int BeceemFlashBulkWrite(struct bcm_mini_adapter *Adapter,
|
|||
/* do_gettimeofday(&tw);
|
||||
* BCM_DEBUG_PRINT(Adapter,DBG_TYPE_PRINTK, 0, 0, "Total time taken in Write to Flash :%ld ms\n", (tw.tv_sec *1000 + tw.tv_usec/1000) - (te.tv_sec *1000 + te.tv_usec/1000));
|
||||
*/
|
||||
for (uiIndex = 0; uiIndex < Adapter->uiSectorSize; uiIndex += MAX_RW_SIZE) {
|
||||
if (STATUS_SUCCESS == BeceemFlashBulkRead(Adapter, (PUINT)ucReadBk, uiOffsetFromSectStart + uiIndex, MAX_RW_SIZE)) {
|
||||
if (Adapter->ulFlashWriteSize == 1) {
|
||||
unsigned int uiReadIndex = 0;
|
||||
|
||||
for (uiReadIndex = 0; uiReadIndex < 16; uiReadIndex++) {
|
||||
if (ucReadBk[uiReadIndex] != pTempBuff[uiIndex + uiReadIndex]) {
|
||||
if (STATUS_SUCCESS != (*Adapter->fpFlashWriteWithStatusCheck)(Adapter, uiPartOffset + uiIndex + uiReadIndex, &pTempBuff[uiIndex+uiReadIndex])) {
|
||||
Status = STATUS_FAILURE;
|
||||
goto BeceemFlashBulkWrite_EXIT;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (memcmp(ucReadBk, &pTempBuff[uiIndex], MAX_RW_SIZE)) {
|
||||
if (STATUS_SUCCESS != (*Adapter->fpFlashWriteWithStatusCheck)(Adapter, uiPartOffset + uiIndex, &pTempBuff[uiIndex])) {
|
||||
Status = STATUS_FAILURE;
|
||||
goto BeceemFlashBulkWrite_EXIT;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (STATUS_FAILURE == bulk_read_complete_sector(Adapter,
|
||||
ucReadBk,
|
||||
pTempBuff,
|
||||
uiOffsetFromSectStart,
|
||||
uiPartOffset,
|
||||
uiIndex)) {
|
||||
Status = STATUS_FAILURE;
|
||||
goto BeceemFlashBulkWrite_EXIT;
|
||||
}
|
||||
|
||||
/* do_gettimeofday(&twv);
|
||||
* BCM_DEBUG_PRINT(Adapter,DBG_TYPE_PRINTK, 0, 0, "Total time taken in Write to Flash verification :%ld ms\n", (twv.tv_sec *1000 + twv.tv_usec/1000) - (tw.tv_sec *1000 + tw.tv_usec/1000));
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user