aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aic7xxx/aic79xx_proc.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-08-04 18:15:15 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-08-04 18:15:15 -0400
commit03da30986793385af57eeca3296253c887b742e6 (patch)
tree9c46dbe51c9d0856990649dd917ab45474b7be87 /drivers/scsi/aic7xxx/aic79xx_proc.c
parent6ba74014c1ab0e37af7de6f64b4eccbbae3cb9e7 (diff)
parent339f4f4eab80caa6cf0d39fb057ad6ddb84ba91e (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (276 commits) [SCSI] zfcp: Trigger logging in the FCP channel on qdio error conditions [SCSI] zfcp: Introduce experimental support for DIF/DIX [SCSI] zfcp: Enable data division support for FCP devices [SCSI] zfcp: Prevent access on uninitialized memory. [SCSI] zfcp: Post events through FC transport class [SCSI] zfcp: Cleanup QDIO attachment and improve processing. [SCSI] zfcp: Cleanup function parameters for sbal value. [SCSI] zfcp: Use correct width for timer_interval field [SCSI] zfcp: Remove SCSI device when removing unit [SCSI] zfcp: Use memdup_user and kstrdup [SCSI] zfcp: Fix retry after failed "open port" erp action [SCSI] zfcp: Fail erp after timeout [SCSI] zfcp: Use forced_reopen in terminate_rport_io callback [SCSI] zfcp: Register SCSI devices after successful fc_remote_port_add [SCSI] zfcp: Do not try "forced close" when port is already closed [SCSI] zfcp: Do not unblock rport from REOPEN_PORT_FORCED [SCSI] sd: add support for runtime PM [SCSI] implement runtime Power Management [SCSI] convert to the new PM framework [SCSI] Unify SAM_ and SAM_STAT_ macros ...
Diffstat (limited to 'drivers/scsi/aic7xxx/aic79xx_proc.c')
-rw-r--r--drivers/scsi/aic7xxx/aic79xx_proc.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/scsi/aic7xxx/aic79xx_proc.c b/drivers/scsi/aic7xxx/aic79xx_proc.c
index 014bed716e7c..59c85d5a153a 100644
--- a/drivers/scsi/aic7xxx/aic79xx_proc.c
+++ b/drivers/scsi/aic7xxx/aic79xx_proc.c
@@ -272,33 +272,32 @@ ahd_proc_write_seeprom(struct ahd_softc *ahd, char *buffer, int length)
272 saved_modes = ahd_save_modes(ahd); 272 saved_modes = ahd_save_modes(ahd);
273 ahd_set_modes(ahd, AHD_MODE_SCSI, AHD_MODE_SCSI); 273 ahd_set_modes(ahd, AHD_MODE_SCSI, AHD_MODE_SCSI);
274 if (length != sizeof(struct seeprom_config)) { 274 if (length != sizeof(struct seeprom_config)) {
275 printf("ahd_proc_write_seeprom: incorrect buffer size\n"); 275 printk("ahd_proc_write_seeprom: incorrect buffer size\n");
276 goto done; 276 goto done;
277 } 277 }
278 278
279 have_seeprom = ahd_verify_cksum((struct seeprom_config*)buffer); 279 have_seeprom = ahd_verify_cksum((struct seeprom_config*)buffer);
280 if (have_seeprom == 0) { 280 if (have_seeprom == 0) {
281 printf("ahd_proc_write_seeprom: cksum verification failed\n"); 281 printk("ahd_proc_write_seeprom: cksum verification failed\n");
282 goto done; 282 goto done;
283 } 283 }
284 284
285 have_seeprom = ahd_acquire_seeprom(ahd); 285 have_seeprom = ahd_acquire_seeprom(ahd);
286 if (!have_seeprom) { 286 if (!have_seeprom) {
287 printf("ahd_proc_write_seeprom: No Serial EEPROM\n"); 287 printk("ahd_proc_write_seeprom: No Serial EEPROM\n");
288 goto done; 288 goto done;
289 } else { 289 } else {
290 u_int start_addr; 290 u_int start_addr;
291 291
292 if (ahd->seep_config == NULL) { 292 if (ahd->seep_config == NULL) {
293 ahd->seep_config = malloc(sizeof(*ahd->seep_config), 293 ahd->seep_config = kmalloc(sizeof(*ahd->seep_config), GFP_ATOMIC);
294 M_DEVBUF, M_NOWAIT);
295 if (ahd->seep_config == NULL) { 294 if (ahd->seep_config == NULL) {
296 printf("aic79xx: Unable to allocate serial " 295 printk("aic79xx: Unable to allocate serial "
297 "eeprom buffer. Write failing\n"); 296 "eeprom buffer. Write failing\n");
298 goto done; 297 goto done;
299 } 298 }
300 } 299 }
301 printf("aic79xx: Writing Serial EEPROM\n"); 300 printk("aic79xx: Writing Serial EEPROM\n");
302 start_addr = 32 * (ahd->channel - 'A'); 301 start_addr = 32 * (ahd->channel - 'A');
303 ahd_write_seeprom(ahd, (u_int16_t *)buffer, start_addr, 302 ahd_write_seeprom(ahd, (u_int16_t *)buffer, start_addr,
304 sizeof(struct seeprom_config)/2); 303 sizeof(struct seeprom_config)/2);